Skip to main content
summaryrefslogtreecommitdiffstats
blob: 74620082bdaef049819ece753f812d471105865d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
/*
 * 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:
 *     Martin Fluegge - initial API and implementation
 * 
 */
package org.eclipse.emf.cdo.dawn.examples.acore.provider;

import org.eclipse.emf.cdo.dawn.examples.acore.AInterface;

import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.IItemPropertySource;
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;

import java.util.Collection;
import java.util.List;

/**
 * This is the item provider adapter for a {@link org.eclipse.emf.cdo.dawn.examples.acore.AInterface} object. <!--
 * begin-user-doc --> <!-- end-user-doc -->
 * 
 * @generated
 */
public class AInterfaceItemProvider extends ABasicClassItemProvider implements IEditingDomainItemProvider,
    IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource
{
  /**
   * This constructs an instance from a factory and a notifier. <!-- begin-user-doc --> <!-- end-user-doc -->
   * 
   * @generated
   */
  public AInterfaceItemProvider(AdapterFactory adapterFactory)
  {
    super(adapterFactory);
  }

  /**
   * This returns the property descriptors for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc -->
   * 
   * @generated
   */
  @Override
  public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
  {
    if (itemPropertyDescriptors == null)
    {
      super.getPropertyDescriptors(object);

    }
    return itemPropertyDescriptors;
  }

  /**
   * This returns AInterface.gif. <!-- begin-user-doc --> <!-- end-user-doc -->
   * 
   * @generated
   */
  @Override
  public Object getImage(Object object)
  {
    return overlayImage(object, getResourceLocator().getImage("full/obj16/AInterface"));
  }

  /**
   * This returns the label text for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc -->
   * 
   * @generated
   */
  @Override
  public String getText(Object object)
  {
    String label = ((AInterface)object).getName();
    return label == null || label.length() == 0 ? getString("_UI_AInterface_type") : getString("_UI_AInterface_type")
        + " " + label;
  }

  /**
   * This handles model notifications by calling {@link #updateChildren} to update any cached children and by creating a
   * viewer notification, which it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!-- end-user-doc -->
   * 
   * @generated
   */
  @Override
  public void notifyChanged(Notification notification)
  {
    updateChildren(notification);
    super.notifyChanged(notification);
  }

  /**
   * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children that can be created under
   * this object. <!-- begin-user-doc --> <!-- end-user-doc -->
   * 
   * @generated
   */
  @Override
  protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
  {
    super.collectNewChildDescriptors(newChildDescriptors, object);
  }

}

Back to the top

%;'/> -rw-r--r--features/org.eclipse.jem-feature/sourceTemplatePlugin/eclipse32.gifbin1750 -> 0 bytes-rw-r--r--features/org.eclipse.jem-feature/sourceTemplatePlugin/plugin.properties18
-rw-r--r--plugins/org.eclipse.jem.beaninfo.ui/.classpath7
-rw-r--r--plugins/org.eclipse.jem.beaninfo.ui/.cvsignore2
-rw-r--r--plugins/org.eclipse.jem.beaninfo.ui/.options2
-rw-r--r--plugins/org.eclipse.jem.beaninfo.ui/.project37
-rw-r--r--plugins/org.eclipse.jem.beaninfo.ui/about.html30
-rw-r--r--plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BIListElementSorter.java76
-rw-r--r--plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BPBeaninfoListElement.java80
-rw-r--r--plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BPListElement.java56
-rw-r--r--plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BPSearchListElement.java71
-rw-r--r--plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeanInfoUIMessages.java60
-rw-r--r--plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfoEntrySearchpathDialog.java354
-rw-r--r--plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfoPathsBlock.java559
-rw-r--r--plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfoUIPlugin.java49
-rw-r--r--plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfosPropertyPage.java145
-rw-r--r--plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfosWorkbookPage.java591
-rw-r--r--plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BuildSearchBasePage.java23
-rw-r--r--plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/PackageOnlyContentProvider.java57
-rw-r--r--plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/PackagesWorkbookPage.java434
-rw-r--r--plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/SPListElementSorter.java86
-rw-r--r--plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/SearchPathListLabelProvider.java341
-rw-r--r--plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/SearchpathOrderingWorkbookPage.java68
-rw-r--r--plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/VariableSelectionBlock.java1
-rw-r--r--plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/messages.properties108
-rw-r--r--plugins/org.eclipse.jem.beaninfo.ui/build.properties9
-rw-r--r--plugins/org.eclipse.jem.beaninfo.ui/icons/blank.gifbin70 -> 0 bytes-rw-r--r--plugins/org.eclipse.jem.beaninfo.ui/icons/javabean.gifbin117 -> 0 bytes-rw-r--r--plugins/org.eclipse.jem.beaninfo.ui/icons/package_obj_missing.gifbin180 -> 0 bytes-rw-r--r--plugins/org.eclipse.jem.beaninfo.ui/icons/plugin_obj.gifbin165 -> 0 bytes-rw-r--r--plugins/org.eclipse.jem.beaninfo.ui/plugin.properties23
-rw-r--r--plugins/org.eclipse.jem.beaninfo.ui/plugin.xml61
-rw-r--r--plugins/org.eclipse.jem.beaninfo/.classpath8
-rw-r--r--plugins/org.eclipse.jem.beaninfo/.cvsignore2
-rw-r--r--plugins/org.eclipse.jem.beaninfo/.options2
-rw-r--r--plugins/org.eclipse.jem.beaninfo/.project51
-rw-r--r--plugins/org.eclipse.jem.beaninfo/about.html30
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/BeanDecorator.java388
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/BeanEvent.java39
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/BeaninfoFactory.java137
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/BeaninfoPackage.java2326
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/EventSetDecorator.java285
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/FeatureAttributeValue.java146
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/FeatureDecorator.java498
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/IndexedPropertyDecorator.java91
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/MethodDecorator.java84
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/MethodProxy.java71
-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.java346
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoAdapterFactory.java218
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoClassAdapter.java1987
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoEntry.java340
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoJavaReflectionKeyExtension.java134
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoModelSynchronizer.java271
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoNature.java967
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoPlugin.java325
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoProperties.java27
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoProxyConstants.java314
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoRegistration.java79
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoSearchPathEntry.java83
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoSuperAdapter.java105
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfosDoc.java85
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/ConfigurationElementReader.java70
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/DOMReader.java71
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/IBeaninfoSupplier.java45
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/IBeaninfosDocEntry.java33
-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/Init.java66
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/SearchpathEntry.java178
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/SpecialResourceSet.java43
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/Utilities.java458
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/BeanDecoratorImpl.java983
-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.java183
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/BeaninfoPackageImpl.java855
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/EventSetDecoratorImpl.java962
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/FeatureAttributeValueImpl.java340
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/FeatureDecoratorImpl.java1129
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/IndexedPropertyDecoratorImpl.java566
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/MethodDecoratorImpl.java552
-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.java501
-rw-r--r--plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/PropertyDecoratorImpl.java1005
-rw-r--r--plugins/org.eclipse.jem.beaninfo/build.properties14
-rw-r--r--plugins/org.eclipse.jem.beaninfo/model/beaninfo.ecore169
-rw-r--r--plugins/org.eclipse.jem.beaninfo/model/introspect.genmodel78
-rw-r--r--plugins/org.eclipse.jem.beaninfo/plugin.properties19
-rw-r--r--plugins/org.eclipse.jem.beaninfo/plugin.xml145
-rw-r--r--plugins/org.eclipse.jem.beaninfo/proxy.jars1
-rw-r--r--plugins/org.eclipse.jem.beaninfo/rose/.cvsignore2
-rw-r--r--plugins/org.eclipse.jem.beaninfo/rose/beaninfo.cat2590
-rw-r--r--plugins/org.eclipse.jem.beaninfo/rose/introspect.mdl5028
-rw-r--r--plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/beaninfo/vm/BaseBeanInfo.java439
-rw-r--r--plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/beaninfo/vm/basebeaninfonls.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.java202
-rw-r--r--plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/IndexedPropertyDescriptorEquality.java82
-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.java531
-rw-r--r--plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/ModelingBeanInfo14.java45
-rw-r--r--plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/ModelingBeanInfoPre14.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.java90
-rw-r--r--plugins/org.eclipse.jem.proxy/.classpath13
-rw-r--r--plugins/org.eclipse.jem.proxy/.cvsignore2
-rw-r--r--plugins/org.eclipse.jem.proxy/.options5
-rw-r--r--plugins/org.eclipse.jem.proxy/.project36
-rw-r--r--plugins/org.eclipse.jem.proxy/about.html30
-rw-r--r--plugins/org.eclipse.jem.proxy/build.properties26
-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.java22
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/CannotProcessInnerClassesException.java22
-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.java328
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/EvaluationException.java39
-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.java29
-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.java215
-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/MethodHelper.java266
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/NullLiteral.java57
-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.java110
-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.java112
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/messages.properties23
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/ExpressionProcesser.java1581
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/IExpressionConstants.java274
-rw-r--r--plugins/org.eclipse.jem.proxy/initParser/org/eclipse/jem/internal/proxy/initParser/tree/IInternalExpressionConstants.java110
-rw-r--r--plugins/org.eclipse.jem.proxy/plugin.properties18
-rw-r--r--plugins/org.eclipse.jem.proxy/plugin.xml86
-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/IDimensionBeanProxy.java32
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/awt/IPointBeanProxy.java31
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/awt/IRectangleBeanProxy.java41
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/awt/IStandardAwtBeanProxyFactory.java47
-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/CollectionBeanProxyWrapper.java137
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/EnumerationBeanProxyWrapper.java79
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/Expression.java1496
-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.java72
-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.java40
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IBeanTypeProxy.java132
-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.java63
-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/IClasspathContributionController.java61
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IConfigurationContributor.java45
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IConstructorProxy.java40
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IExpression.java572
-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/IMethodProxy.java92
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IMethodProxyFactory.java38
-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/IRegistration.java40
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IStandardBeanProxyFactory.java175
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/IStandardBeanTypeProxyFactory.java108
-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/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/ProxyFactoryRegistry.java314
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ProxyMessages.java47
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ProxyPlugin.java475
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ProxyVMRunner.java23
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/ThrowableProxy.java51
-rw-r--r--plugins/org.eclipse.jem.proxy/proxy/org/eclipse/jem/internal/proxy/core/messages.properties35
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/CommandException.java44
-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.java86
-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/IVMServer.java42
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/DebugModeHelper.java363
-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.java63
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/IREMConnection.java78
-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.java138
-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/MessageDialog.java325
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/ProxyRegistration.java420
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/ProxyRemoteMessages.java48
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/ProxyRemoteUtil.java59
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMAbstractBeanProxy.java122
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMAbstractBeanTypeProxy.java285
-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.java174
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMArrayBeanTypeProxy.java241
-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/REMCallbackServerThread.java210
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCallbackThread.java346
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMCharacterClassBeanProxy.java148
-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.java153
-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.java295
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMConstantBeanProxy.java88
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMConstructorProxy.java81
-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.java524
-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.java236
-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/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.java165
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMMethodProxy.java275
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMMethodProxyFactory.java149
-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.java168
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMProxyFactoryRegistry.java420
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMRegistryController.java175
-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.java408
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMStandardBeanProxyFactory.java804
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMStandardBeanTypeProxyFactory.java609
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/REMStringBeanProxy.java84
-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.java196
-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.java27
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMStandardAWTBeanProxyFactory.java73
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/awt/REMStandardAWTBeanTypeProxyFactory.java66
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyRemote/org/eclipse/jem/internal/proxy/remote/messages.properties58
-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.java231
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEArrayBeanTypeProxy.java226
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBeanProxy.java84
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEBeanTypeProxy.java227
-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.java113
-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.java82
-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.java104
-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.java286
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEExtensionBeanTypeProxyFactory.java26
-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.java179
-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.java153
-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.java124
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDERegistration.java168
-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.java219
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEStandardBeanTypeProxyFactory.java363
-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.java83
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEVMServer.java78
-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.java49
-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.java49
-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.java72
-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.java50
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/awt/IDEStandardAWTBeanTypeProxyFactory.java66
-rw-r--r--plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/CommandErrorException.java61
-rw-r--r--plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/Commands.java1217
-rw-r--r--plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/ExpressionCommands.java230
-rw-r--r--plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/IOCommandException.java54
-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.java66
-rw-r--r--plugins/org.eclipse.jem.proxy/remoteCommon/org/eclipse/jem/internal/proxy/common/remote/UnexpectedExceptionCommandException.java60
-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.java186
-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.java722
-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.java553
-rw-r--r--plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/IdentityMap.java89
-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.java683
-rw-r--r--plugins/org.eclipse.jem.proxy/vm_remotevm/org/eclipse/jem/internal/proxy/vm/remote/StackTraceUtility.java32
407 files changed, 0 insertions, 67497 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 267118c30..000000000
--- a/features/org.eclipse.jem-feature/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-bin.includes = feature.xml,\
- feature.properties,\
- cpl-v10.html,\
- eclipse_update_120.jpg,\
- license.html
-
-
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 03ebda486..000000000
--- a/features/org.eclipse.jem-feature/com.ibm.etools.emf.event/build.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-bin.includes = runtime/event.jar,\
- plugin.xml
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 a8d522337..000000000
--- a/features/org.eclipse.jem-feature/com.ibm.etools.emf.event/plugin.xml
+++ /dev/null
@@ -1,28 +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="*"/>
- <packages prefixes="com.ibm.etools.emf.event"/>
- </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
- factory="com.ibm.etools.emf.event.impl.EventFactoryImpl"
- 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 194c03926..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/cpl-v10.html b/features/org.eclipse.jem-feature/cpl-v10.html
deleted file mode 100644
index 36aa208d4..000000000
--- a/features/org.eclipse.jem-feature/cpl-v10.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-<HEAD>
-<TITLE>Common Public License - v 1.0</TITLE>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" VLINK="#800000">
-
-
-<P ALIGN="CENTER"><B>Common Public License - v 1.0</B>
-<P><B></B><FONT SIZE="3"></FONT>
-<P><FONT SIZE="3"></FONT><FONT SIZE="2">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>1. DEFINITIONS</B></FONT>
-<P><FONT SIZE="2">"Contribution" means:</FONT>
-
-<UL><FONT SIZE="2">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:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i) changes to the Program, and</FONT></UL>
-
-
-<UL><FONT SIZE="2">ii) additions to the Program;</FONT></UL>
-
-
-<UL><FONT SIZE="2">where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. </FONT><FONT SIZE="2">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. </FONT><FONT SIZE="2">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. </FONT></UL>
-
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Contributor" means any person or entity that distributes the Program.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Licensed Patents " 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. </FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">"Program" means the Contributions distributed in accordance with this Agreement.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.</FONT>
-<P><FONT SIZE="2"><B></B></FONT>
-<P><FONT SIZE="2"><B>2. GRANT OF RIGHTS</B></FONT>
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">a) </FONT><FONT SIZE="2">Subject to the terms of this Agreement, each Contributor hereby grants</FONT><FONT SIZE="2"> Recipient a non-exclusive, worldwide, royalty-free copyright license to</FONT><FONT SIZE="2" COLOR="#FF0000"> </FONT><FONT SIZE="2">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.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">b) Subject to the terms of this Agreement, each Contributor hereby grants </FONT><FONT SIZE="2">Recipient a non-exclusive, worldwide,</FONT><FONT SIZE="2" COLOR="#008000"> </FONT><FONT SIZE="2">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. </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">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.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">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. </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2"><B>3. REQUIREMENTS</B></FONT>
-<P><FONT SIZE="2"><B></B>A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:</FONT>
-
-<UL><FONT SIZE="2">a) it complies with the terms and conditions of this Agreement; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">b) its license agreement:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i) effectively disclaims</FONT><FONT SIZE="2"> 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; </FONT></UL>
-
-
-<UL><FONT SIZE="2">ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; </FONT></UL>
-
-
-<UL><FONT SIZE="2">iii)</FONT><FONT SIZE="2"> states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">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.</FONT><FONT SIZE="2" COLOR="#0000FF"> </FONT><FONT SIZE="2" COLOR="#FF0000"></FONT></UL>
-
-
-<UL><FONT SIZE="2" COLOR="#FF0000"></FONT><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2">When the Program is made available in source code form:</FONT>
-
-<UL><FONT SIZE="2">a) it must be made available under this Agreement; and </FONT></UL>
-
-
-<UL><FONT SIZE="2">b) a copy of this Agreement must be included with each copy of the Program. </FONT></UL>
-
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT><FONT SIZE="2">Contributors may not remove or alter any copyright notices contained within the Program. </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">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. </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>4. COMMERCIAL DISTRIBUTION</B></FONT>
-<P><FONT SIZE="2">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 ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") 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.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">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.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"></FONT><FONT SIZE="2"><B>5. NO WARRANTY</B></FONT>
-<P><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" 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</FONT><FONT SIZE="2"> solely responsible for determining the appropriateness of using and distributing </FONT><FONT SIZE="2">the Program</FONT><FONT SIZE="2"> and assumes all risks associated with its exercise of rights under this Agreement</FONT><FONT SIZE="2">, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, </FONT><FONT SIZE="2">programs or equipment, and unavailability or interruption of operations</FONT><FONT SIZE="2">. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"><B>6. DISCLAIMER OF LIABILITY</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">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 </FONT><FONT SIZE="2">(INCLUDING WITHOUT LIMITATION LOST PROFITS),</FONT><FONT SIZE="2"> 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.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>7. GENERAL</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">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.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, 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. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">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. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">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 </FONT><FONT SIZE="2">publish new versions (including revisions) of this Agreement from time to </FONT><FONT SIZE="2">time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. </FONT><FONT SIZE="2">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 </FONT><FONT SIZE="2">version. </FONT><FONT SIZE="2">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, </FONT><FONT SIZE="2">by implication, estoppel or otherwise</FONT><FONT SIZE="2">.</FONT><FONT SIZE="2"> All rights in the Program not expressly granted under this Agreement are reserved.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">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.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-
-</BODY>
-
-</HTML> \ No newline at end of file
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 68e3e0248..000000000
--- a/features/org.eclipse.jem-feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.jem-feature/feature.properties b/features/org.eclipse.jem-feature/feature.properties
deleted file mode 100644
index 705fcb203..000000000
--- a/features/org.eclipse.jem-feature/feature.properties
+++ /dev/null
@@ -1,129 +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 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/features/org.eclipse.jem-feature/Attic/feature.properties,v $
-# $Revision: 1.1 $ $Date: 2003/10/28 16:18:39 $
-#
-
-
-# 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=Eclipse.org 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.ORG SOFTWARE USER AGREEMENT\n\
-14th August, 2003\n\
-\n\
-Usage Of Content\n\
-\n\
-ECLIPSE.ORG 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 Eclipse.org\n\
-is provided to you under the terms and conditions of the Common Public\n\
-License Version 1.0 ("CPL"). A copy of the CPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/cpl-v10.html.\n\
-For purposes of the CPL, "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 Eclipse.org 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\
- - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\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 Eclipse.org 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 ########################################## \ No newline at end of file
diff --git a/features/org.eclipse.jem-feature/feature.xml b/features/org.eclipse.jem-feature/feature.xml
deleted file mode 100644
index 7c8300050..000000000
--- a/features/org.eclipse.jem-feature/feature.xml
+++ /dev/null
@@ -1,76 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
- id="org.eclipse.jem"
- label="%featureName"
- version="1.0.0"
- provider-name="%providerName"
- image="eclipse_update_120.jpg">
-
- <license url="%licenseURL">
-
- </license>
-
- <url>
- <update label="%updateSiteName" url="http://update.eclipse.org/updates"/>
- </url>
-
- <requires>
- <import feature="org.eclipse.jdt" version="3.0.0" match="compatible"/>
- <import feature="org.eclipse.emf" version="2.0.0" match="compatible"/>
- </requires>
-
- <plugin
- id="org.eclipse.jem.beaninfo"
- download-size="0"
- install-size="0"
- version="1.0.0"/>
-
- <plugin
- id="org.eclipse.jem.beaninfo.ui"
- download-size="0"
- install-size="0"
- version="1.0.0"/>
-
- <plugin
- id="org.eclipse.jem.proxy"
- download-size="0"
- install-size="0"
- version="1.0.0"/>
-
- <plugin
- id="org.eclipse.jem"
- download-size="0"
- install-size="0"
- version="1.0.0"/>
-
- <plugin
- id="org.eclipse.jem.workbench"
- download-size="0"
- install-size="0"
- version="1.0.0"/>
-
- <plugin
- id="org.eclipse.wtp.emf"
- download-size="0"
- install-size="0"
- version="0.5.0"/>
-
- <plugin
- id="com.ibm.etools.emf.event"
- download-size="0"
- install-size="0"
- version="3.0.0.1"/>
-
- <plugin
- id="org.eclipse.wtp.emf.workbench"
- download-size="0"
- install-size="0"
- version="0.5.0"/>
-
- <plugin
- id="org.eclipse.wtp.common"
- download-size="0"
- install-size="0"
- version="1.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 af8c38096..000000000
--- a/features/org.eclipse.jem-feature/license.html
+++ /dev/null
@@ -1,71 +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.org Software User Agreement</h2>
-<p>14th August, 2003</p>
-
-<h3>Usage Of Content</h3>
-
-<p>ECLIPSE.ORG 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 Eclipse.org is provided to you under the terms and conditions of the Common Public License Version 1.0
- (&quot;CPL&quot;). A copy of the CPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
- For purposes of the CPL, &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 Eclipse.org 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 CPL 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>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</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 Eclipse.org 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> \ No newline at end of file
diff --git a/features/org.eclipse.jem-feature/org.eclipse.wtp.common/build.properties b/features/org.eclipse.jem-feature/org.eclipse.wtp.common/build.properties
deleted file mode 100644
index 1900d4c61..000000000
--- a/features/org.eclipse.jem-feature/org.eclipse.wtp.common/build.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-bin.includes = common.jar,\
- common_core.jar,\
- plugin.xml
diff --git a/features/org.eclipse.jem-feature/org.eclipse.wtp.common/common.jar b/features/org.eclipse.jem-feature/org.eclipse.wtp.common/common.jar
deleted file mode 100644
index 520b16e5b..000000000
--- a/features/org.eclipse.jem-feature/org.eclipse.wtp.common/common.jar
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.jem-feature/org.eclipse.wtp.common/common_core.jar b/features/org.eclipse.jem-feature/org.eclipse.wtp.common/common_core.jar
deleted file mode 100644
index 7ce58351c..000000000
--- a/features/org.eclipse.jem-feature/org.eclipse.wtp.common/common_core.jar
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.jem-feature/org.eclipse.wtp.common/plugin.xml b/features/org.eclipse.jem-feature/org.eclipse.wtp.common/plugin.xml
deleted file mode 100644
index da52f3cfb..000000000
--- a/features/org.eclipse.jem-feature/org.eclipse.wtp.common/plugin.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
- id="org.eclipse.wtp.common"
- name="org.eclipse.wtp.common"
- version="1.0.0"
- class="org.eclipse.wtp.common.plugin.WTPCommonPlugin">
-
- <runtime>
- <library name="common.jar">
- <export name="*"/>
- </library>
- <library name="common_core.jar">
- <export name="*"/>
- </library>
- </runtime>
- <requires>
- <import plugin="org.eclipse.core.resources"/>
- <import plugin="org.eclipse.core.runtime"/>
- <import plugin="org.eclipse.jdt.core"/>
- </requires>
-
-
- <extension-point id="ExtendableOperation" name="ExtendabledOperation" schema="schema/ExtendableOperation.exsd"/>
- <extension-point id="J2EEOperationExtension" name="J2EE Operation Extension" schema="schema/J2EEOperationExtension.exsd"/>
- <extension-point id="functionGroup" name="Function Extension Group" schema="schema/functionGroup.exsd"/>
- <extension-point id="uiContextSensitiveClass" name="UI Context Sensitive Class" schema="schema/uiContextSensitiveClass.exsd"/>
- <extension-point id="uiTester" name="UI Tester" schema="schema/uiTester.exsd"/>
-
- <extension
- id="context.Sensitive.Class.workingCopyManager"
- name="Working Copy Manager - Headless Context Class"
- point="org.eclipse.wtp.common.uiContextSensitiveClass">
- <uiContextSensitiveClass
- context="Headless"
- key="workingCopyManager"
- className="org.eclipse.wtp.common.WTPWorkingCopyManager">
- </uiContextSensitiveClass>
- </extension>
- <extension
- id="context.Sensitive.Class.saveHandler"
- name="Save Handler - Headless Context Class"
- point="org.eclipse.wtp.common.uiContextSensitiveClass">
- <uiContextSensitiveClass
- context="Headless"
- key="saveHandler"
- className="org.eclipse.wtp.common.SaveHandlerHeadless">
- </uiContextSensitiveClass>
- </extension>
-
-</plugin>
diff --git a/features/org.eclipse.jem-feature/org.eclipse.wtp.common/schema/ExtendableOperation.exsd b/features/org.eclipse.jem-feature/org.eclipse.wtp.common/schema/ExtendableOperation.exsd
deleted file mode 100644
index 6128fe3c9..000000000
--- a/features/org.eclipse.jem-feature/org.eclipse.wtp.common/schema/ExtendableOperation.exsd
+++ /dev/null
@@ -1,79 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="com.ibm.etools.j2ee">
-<annotation>
- <appInfo>
- <meta.schema plugin="com.ibm.etools.j2ee" id="ExtendableOperation" name="ExtendabledOperation"/>
- </appInfo>
- <documentation>
- [Enter description of this extension point.]
- </documentation>
- </annotation>
-
- <element name="extendableOperation">
- <complexType>
- <sequence>
- </sequence>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" 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/features/org.eclipse.jem-feature/org.eclipse.wtp.common/schema/J2EEOperationExtension.exsd b/features/org.eclipse.jem-feature/org.eclipse.wtp.common/schema/J2EEOperationExtension.exsd
deleted file mode 100644
index eac36ff12..000000000
--- a/features/org.eclipse.jem-feature/org.eclipse.wtp.common/schema/J2EEOperationExtension.exsd
+++ /dev/null
@@ -1,93 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="com.ibm.etools.j2ee.com.ibm.etools.operations">
-<annotation>
- <appInfo>
- <meta.schema plugin="com.ibm.etools.j2ee.com.ibm.etools.operations" id="extension" name="J2EE Operation Extension"/>
- </appInfo>
- <documentation>
- [Enter description of this extension point.]
- </documentation>
- </annotation>
-
- <element name="j2eeOperationExt">
- <complexType>
- <sequence>
- </sequence>
- <attribute name="groupID" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="preOperationClass" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="postOperationClass" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" 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/features/org.eclipse.jem-feature/org.eclipse.wtp.common/schema/functionGroup.exsd b/features/org.eclipse.jem-feature/org.eclipse.wtp.common/schema/functionGroup.exsd
deleted file mode 100644
index 475e718ac..000000000
--- a/features/org.eclipse.jem-feature/org.eclipse.wtp.common/schema/functionGroup.exsd
+++ /dev/null
@@ -1,159 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="com.ibm.etools.emf.workbench">
-<annotation>
- <appInfo>
- <meta.schema plugin="com.ibm.etools.emf.workbench" id="group" name="Grouping for function contribution"/>
- </appInfo>
- <documentation>
- A functionGroup provides a grouping of related function that can be contributed to the tools. For example, a third party component may want to contribute actions, editor pages, edit model resources, and many other functions specific to a given product. By associating all these functions with a group id, a mechanism is exposed for users to selectively enable and disable baskets of function. Extension points that allow for a &quot;groupID&quot; attribute generally will hide those functions when the group id is disabled.
- </documentation>
- </annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="functionGroup" 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="functionGroup">
- <annotation>
- <documentation>
- Extension point definition for a group.
- </documentation>
- </annotation>
- <complexType>
- <attribute name="functionGroupID" type="string" use="required">
- <annotation>
- <documentation>
- A unique id for the group.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string" use="required">
- <annotation>
- <documentation>
- A human readable name.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="description" type="string" use="required">
- <annotation>
- <documentation>
- A short description of the group.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="icon" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="url" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="priority" type="string" use="required">
- <annotation>
- <documentation>
- Ordering magnitude of plugins
- </documentation>
- </annotation>
- </attribute>
- <attribute name="initializerClassName" type="string" use="required">
- <annotation>
- <documentation>
- Class used to determine plugin enablement
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- 6.0
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- &lt;code&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;extension&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;point=&quot;org.eclipse.wtp.common.functionGroup&quot;&amp;gt;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;functionGroup&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;name=&quot;Acme&amp;nbsp;Co.&amp;nbsp;Function&amp;nbsp;Extension&quot;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;functionGroupID=&quot;com.acme.acmepro&quot;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;description=&quot;The&amp;nbsp;AcmePro&amp;nbsp;Extensions&amp;nbsp;add&amp;nbsp;integration&amp;nbsp;to&amp;nbsp;the&amp;nbsp;Acme&amp;nbsp;Web&amp;nbsp;Server.&quot;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;enabledByDefault=&quot;true&quot;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;icon=&quot;...&quot;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;url=&quot;http://www.acme.com/&quot;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/&amp;gt;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/extension&amp;gt;&lt;br&gt;
-&lt;/code&gt;
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="apiInfo"/>
- </appInfo>
- <documentation>
- WTP Function Groups can be referenced through org.eclipse.wtp.common.group.WTPFunctionGroupRegistry.
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="implementation"/>
- </appInfo>
- <documentation>
-
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
-
- </documentation>
- </annotation>
-
-</schema>
diff --git a/features/org.eclipse.jem-feature/org.eclipse.wtp.common/schema/uiContextSensitiveClass.exsd b/features/org.eclipse.jem-feature/org.eclipse.wtp.common/schema/uiContextSensitiveClass.exsd
deleted file mode 100644
index f71f4ca43..000000000
--- a/features/org.eclipse.jem-feature/org.eclipse.wtp.common/schema/uiContextSensitiveClass.exsd
+++ /dev/null
@@ -1,136 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="com.ibm.etools.emf.workbench">
-<annotation>
- <appInfo>
- <meta.schema plugin="com.ibm.etools.emf.workbench" id="uiContextSensitiveClass" name="UI Context Sensitive Class"/>
- </appInfo>
- <documentation>
- Edit models provide a framework for managing a set of EMF resources within a unit of work. For example, a workspace operation may affect a change to multiple EMF resources. Edit models provide basic services such as loads, saves (when necessary), and validate edit for the managed resources. Edit models are reference counted, therefore a single instance of an edit model can be shared by more than one operation or editor. By declaring an edit model, a plugin provider enables other components to contribute resources to be managed by that edit model.
- </documentation>
- </annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="uiContextSensitiveClass" 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="uiContextSensitiveClass">
- <annotation>
- <documentation>
- An extension point that defines an instance of a class and its appropriate context (UI or Headless)
- </documentation>
- </annotation>
- <complexType>
- <attribute name="key" type="string" use="required">
- <annotation>
- <documentation>
- The key that should be used to create an instance of the Context Sensitive super class/interface.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="className" type="string" use="required">
- <annotation>
- <documentation>
- A concrete implementation for either a UI or Headless context.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="context" use="required">
- <annotation>
- <documentation>
- One of &quot;UI&quot; or &quot;Headless&quot;
- </documentation>
- </annotation>
- <simpleType>
- <restriction base="string">
- <enumeration value="UI">
- </enumeration>
- <enumeration value="Headless">
- </enumeration>
- </restriction>
- </simpleType>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- 6.0
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- &lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;extension&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;id=&quot;context.Sensitive.Class.workingCopyManager&quot;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;name=&quot;Working&amp;nbsp;Copy&amp;nbsp;Manager&amp;nbsp;-&amp;nbsp;UI&amp;nbsp;Context&amp;nbsp;Class&quot;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;point=&quot;org.eclipse.wtp.common.uiContextSensitiveClass&quot;&amp;gt;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;uiContextSensitiveClass&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;context=&quot;UI&quot;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;key=&quot;workingCopyManager&quot;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;className=&quot;org.eclipse.wtp.common.ui.WTPUIWorkingCopyManager&quot;&amp;gt;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/uiContextSensitiveClass&amp;gt;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/extension&amp;gt;&lt;br&gt;
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="apiInfo"/>
- </appInfo>
- <documentation>
- See &lt;code&gt;org.eclipse.wtp.common.UIContextDetermination&lt;/code&gt;
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="implementation"/>
- </appInfo>
- <documentation>
-
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
- Copyright (c) IBM 2003.
- </documentation>
- </annotation>
-
-</schema>
diff --git a/features/org.eclipse.jem-feature/org.eclipse.wtp.common/schema/uiTester.exsd b/features/org.eclipse.jem-feature/org.eclipse.wtp.common/schema/uiTester.exsd
deleted file mode 100644
index 310acff4f..000000000
--- a/features/org.eclipse.jem-feature/org.eclipse.wtp.common/schema/uiTester.exsd
+++ /dev/null
@@ -1,104 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="com.ibm.etools.emf.workbench">
-<annotation>
- <appInfo>
- <meta.schema plugin="com.ibm.etools.emf.workbench" id="uiTester" name="UI Tester"/>
- </appInfo>
- <documentation>
- Edit models provide a framework for managing a set of EMF resources within a unit of work. For example, a workspace operation may affect a change to multiple EMF resources. Edit models provide basic services such as loads, saves (when necessary), and validate edit for the managed resources. Edit models are reference counted, therefore a single instance of an edit model can be shared by more than one operation or editor. By declaring an edit model, a plugin provider enables other components to contribute resources to be managed by that edit model.
- </documentation>
- </annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="uiTester"/>
- </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="uiTester">
- <annotation>
- <documentation>
- The declaration for an edit model to be used in the workspace.
- </documentation>
- </annotation>
- <complexType>
- <attribute name="className" type="string" use="required">
- <annotation>
- <documentation>
- A unique identifier for the edit model.
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- 6.0
- </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/features/org.eclipse.jem-feature/org.eclipse.wtp.emf.workbench/build.properties b/features/org.eclipse.jem-feature/org.eclipse.wtp.emf.workbench/build.properties
deleted file mode 100644
index 2b5f12027..000000000
--- a/features/org.eclipse.jem-feature/org.eclipse.wtp.emf.workbench/build.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-bin.includes = plugin.xml,\
- runtime/emfworkbench.jar,\
- schema/
diff --git a/features/org.eclipse.jem-feature/org.eclipse.wtp.emf.workbench/plugin.xml b/features/org.eclipse.jem-feature/org.eclipse.wtp.emf.workbench/plugin.xml
deleted file mode 100644
index ca8c680a4..000000000
--- a/features/org.eclipse.jem-feature/org.eclipse.wtp.emf.workbench/plugin.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
- id="org.eclipse.wtp.emf.workbench"
- name="EMF Workbench"
- version="0.5.0"
- provider-name="IBM"
- class="org.eclipse.wtp.emf.workbench.plugin.EMFWorkbenchPlugin">
-
- <runtime>
- <library name="runtime/emfworkbench.jar">
- <export name="*"/>
- </library>
- </runtime>
- <requires>
- <import plugin="org.apache.xerces"/>
- <import plugin="org.eclipse.core.resources"/>
- <import plugin="org.eclipse.jdt.core"/>
- <import plugin="org.eclipse.wtp.common"/>
- <import plugin="org.eclipse.emf.edit"/>
- <import plugin="org.eclipse.emf.ecore.xmi"/>
- <import plugin="org.eclipse.wtp.emf"/>
- </requires>
-
-
-<!-- Extension point to register ResourceHandlers that will always be added to
- new WorkbenchContexts -->
- <extension-point id="ResourceHandlerExtension" name="ResourceHandlerExtension"/>
- <extension-point id="globalPluginResourceLoad" name="Global Plugin Resource Load" schema="schema/globalPluginResourceLoad.exsd"/>
- <extension-point id="editModel" name="EMF Resource Edit Model" schema="schema/editModel.exsd"/>
- <extension-point id="nature_registration" name="Java EMF Nature registration"/>
- <extension-point id="editModelExtension" name="Edit Model Extensions" schema="schema/editModelExtension.exsd"/>
- <extension-point id="adapterFactory" name="Adapter Factory Extension" schema="schema/adapterFactory.exsd"/>
-
-</plugin>
diff --git a/features/org.eclipse.jem-feature/org.eclipse.wtp.emf.workbench/runtime/emfworkbench.jar b/features/org.eclipse.jem-feature/org.eclipse.wtp.emf.workbench/runtime/emfworkbench.jar
deleted file mode 100644
index 320a343c0..000000000
--- a/features/org.eclipse.jem-feature/org.eclipse.wtp.emf.workbench/runtime/emfworkbench.jar
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.jem-feature/org.eclipse.wtp.emf.workbench/schema/adapterFactory.exsd b/features/org.eclipse.jem-feature/org.eclipse.wtp.emf.workbench/schema/adapterFactory.exsd
deleted file mode 100644
index f1ebf1173..000000000
--- a/features/org.eclipse.jem-feature/org.eclipse.wtp.emf.workbench/schema/adapterFactory.exsd
+++ /dev/null
@@ -1,128 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="com.ibm.etools.emf.workbench">
-<annotation>
- <appInfo>
- <meta.schema plugin="com.ibm.etools.emf.workbench" id="adapterFactory" name="Adapter Factory Extension"/>
- </appInfo>
- <documentation>
- [Enter description of this extension point.]
- </documentation>
- </annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="adapterFactory" 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="adapterFactory">
- <complexType>
- <sequence>
- <element ref="view" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="packageURI" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="className" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="functionGroupID" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="view">
- <complexType>
- <attribute name="id" 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/features/org.eclipse.jem-feature/org.eclipse.wtp.emf.workbench/schema/editModel.exsd b/features/org.eclipse.jem-feature/org.eclipse.wtp.emf.workbench/schema/editModel.exsd
deleted file mode 100644
index 51c79d44b..000000000
--- a/features/org.eclipse.jem-feature/org.eclipse.wtp.emf.workbench/schema/editModel.exsd
+++ /dev/null
@@ -1,166 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="com.ibm.etools.emf.workbench">
-<annotation>
- <appInfo>
- <meta.schema plugin="com.ibm.etools.emf.workbench" id="editModel" name="EMF Resource Edit Model"/>
- </appInfo>
- <documentation>
- Edit models provide a framework for managing a set of EMF resources within a unit of work. For example, a workspace operation may affect a change to multiple EMF resources. Edit models provide basic services such as loads, saves (when necessary), and validate edit for the managed resources. Edit models are reference counted, therefore a single instance of an edit model can be shared by more than one operation or editor. By declaring an edit model, a plugin provider enables other components to contribute resources to be managed by that edit model.
- </documentation>
- </annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="editModel" 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="editModel">
- <annotation>
- <documentation>
- The declaration for an edit model to be used in the workspace.
- </documentation>
- </annotation>
- <complexType>
- <sequence>
- <element ref="editModelResource" minOccurs="1" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="editModelID" type="string" use="required">
- <annotation>
- <documentation>
- A unique identifier for the edit model.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="factoryClass" type="string" use="required">
- <annotation>
- <documentation>
- An optional factory class that is used for this edit model. The class must implement the interface &lt;code&gt;com.ibm.etools.emf.workbench.edit.EditModelFactory&lt;/code&gt;. If none is specified, then a generic &lt;code&gt;EditModel&lt;/code&gt; is created.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="loadUnknownResourcesAsReadOnly" type="boolean">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="parentModelID" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="editModelResource">
- <complexType>
- <attribute name="URI" type="string" use="required">
- <annotation>
- <documentation>
- The URI of the resource relative to the root container from which EMF resources are loaded.
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- 6.0
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- &lt;br&gt;
-&lt;code&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;extension&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;id=&quot;editModel.acme.parent&quot;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;name=&quot;Acme&amp;nbsp;Parent&amp;nbsp;Edit&amp;nbsp;Model&quot;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;point=&quot;com.ibm.etools.emf.workbench.editModel&quot;&amp;gt;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;editModel&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;editModelID=&quot;com.acme.acmepro.parent.editModel&quot;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;factoryClass=&quot;com.ibm.etools.emf.workbench.edit.EditModelFactory&quot;&amp;gt;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;editModelResource&amp;nbsp;URI=&quot;DIR/resource0.xml&quot;&amp;nbsp;/&amp;gt;&amp;nbsp;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;editModelResource&amp;nbsp;URI=&quot;DIR/resource1.xml&quot;&amp;nbsp;/&amp;gt;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/editModel&amp;gt;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/extension&amp;gt;&amp;nbsp;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;extension&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;id=&quot;editModel.acme.child&quot;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;name=&quot;Acme&amp;nbsp;Child&amp;nbsp;Edit&amp;nbsp;Model&quot;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;point=&quot;com.ibm.etools.emf.workbench.editModel&quot;&amp;gt;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;editModel&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;editModelID=&quot;com.acme.acmepro.child.editModel&quot;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;factoryClass=&quot;com.ibm.etools.emf.workbench.edit.EditModelFactory&quot;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;parentModelID=&quot;com.acme.acmepro.parent.editModel&quot;&amp;gt;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;editModelResource&amp;nbsp;URI=&quot;DIR/resource2.xml&quot;&amp;nbsp;/&amp;gt;&amp;nbsp;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;editModelResource&amp;nbsp;URI=&quot;DIR/resource3.xml&quot;&amp;nbsp;/&amp;gt;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/editModel&amp;gt;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/extension&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br&gt;
-&lt;/code&gt;
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="apiInfo"/>
- </appInfo>
- <documentation>
- Edit Models can be accessed through the com.ibm.etools.emf.workbench.EMFWorkbenchContext.
- </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/features/org.eclipse.jem-feature/org.eclipse.wtp.emf.workbench/schema/editModelExtension.exsd b/features/org.eclipse.jem-feature/org.eclipse.wtp.emf.workbench/schema/editModelExtension.exsd
deleted file mode 100644
index 90c9891ff..000000000
--- a/features/org.eclipse.jem-feature/org.eclipse.wtp.emf.workbench/schema/editModelExtension.exsd
+++ /dev/null
@@ -1,142 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="com.ibm.etoosl.emf.workbench">
-<annotation>
- <appInfo>
- <meta.schema plugin="com.ibm.etoosl.emf.workbench" id="geditModelExtension" name="Edit Model Extension"/>
- </appInfo>
- <documentation>
- The Edit Model Extension allows third parties to contribute expected resources to Edit Models. The functionGroupID allows users to select which extensions they choose to have enabled.
- </documentation>
- </annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="editModelExtension" 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="editModelExtension">
- <annotation>
- <documentation>
- Edit model extensions allow components to contribute known resource URIs to an edit model. Whenever an edit model is loaded, the resources will automatically be loaded and managed by the edit model. Changes to the resources will be tracked and saved during operations or editor saves.
- </documentation>
- </annotation>
- <complexType>
- <sequence>
- <element ref="editModelResource" minOccurs="1" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="functionGroupID" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="editModelID" type="string" use="required">
- <annotation>
- <documentation>
- The unique id of the edit model being extended.
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="editModelResource">
- <annotation>
- <documentation>
- This is an individual contribution of a resource to the edit model. If more than one instance of the same URI is registered against an edit model id, the resource is still only loaded once.
- </documentation>
- </annotation>
- <complexType>
- <attribute name="URI" type="string" use="required">
- <annotation>
- <documentation>
- The relative path of the resource to be managed.
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- 6.0
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- &lt;br&gt;
-&lt;code&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;extension&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;point=&quot;com.ibm.etools.emf.workbench.editModelExtension&quot;&amp;gt;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;editModelExtension&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;editModelID=&quot;com.ibm.etools.inheritance.parent.editModel&quot;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;functionGroupID=&quot;com.ibm.etools.websphere.group&quot;&amp;gt;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;editModelResource&amp;nbsp;URI=&quot;DIR/extension0.xml&quot;/&amp;gt;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;editModelResource&amp;nbsp;URI=&quot;DIR/extension1.xml&quot;/&amp;gt;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/editModelExtension&amp;gt;&lt;br&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/extension&amp;gt;&lt;br&gt;
-&lt;/code&gt;
- </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/features/org.eclipse.jem-feature/org.eclipse.wtp.emf/build.properties b/features/org.eclipse.jem-feature/org.eclipse.wtp.emf/build.properties
deleted file mode 100644
index caa9821da..000000000
--- a/features/org.eclipse.jem-feature/org.eclipse.wtp.emf/build.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-bin.includes = runtime/wtpemf.jar,\
- runtime/workbench.jar,\
- plugin.xml
diff --git a/features/org.eclipse.jem-feature/org.eclipse.wtp.emf/plugin.xml b/features/org.eclipse.jem-feature/org.eclipse.wtp.emf/plugin.xml
deleted file mode 100644
index 700d485a0..000000000
--- a/features/org.eclipse.jem-feature/org.eclipse.wtp.emf/plugin.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
- id="org.eclipse.wtp.emf"
- name="EMF Utilities"
- version="0.5.0"
- provider-name="IBM"
- class="org.eclipse.wtp.internal.emf.plugin.EcoreUtilitiesPlugin">
-
- <runtime>
- <library name="runtime/wtpemf.jar">
- <export name="*"/>
- </library>
- <library name="runtime/workbench.jar">
- <export name="*"/>
- </library>
- </runtime>
- <requires>
- <import plugin="org.eclipse.emf.ecore.xmi"/>
- <import plugin="org.apache.xerces"/>
- <import plugin="org.eclipse.wtp.common"/>
- </requires>
-
-
- <extension-point id="packageURIMap" name="PackageURIMap"/>
-
-<!-- Need to register the Ecore specific package mappings -->
- <extension
- point="org.eclipse.wtp.emf.packageURIMap">
- <map
- uri="http://www.eclipse.org/emf/2002/Ecore"
- prefix="ecore">
- </map>
- <map
- uri="http://www.eclipse.org/emf/2002/Mapping"
- prefix="mapping">
- </map>
-<!-- Trick to get Mapping.xmi for MOF5 serialization -->
- <map
- uri="http://www.eclipse.org/emf/2002/Mapping"
- prefix="Mapping">
- </map>
- </extension>
-
-</plugin>
diff --git a/features/org.eclipse.jem-feature/org.eclipse.wtp.emf/runtime/workbench.jar b/features/org.eclipse.jem-feature/org.eclipse.wtp.emf/runtime/workbench.jar
deleted file mode 100644
index 033c65288..000000000
--- a/features/org.eclipse.jem-feature/org.eclipse.wtp.emf/runtime/workbench.jar
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.jem-feature/org.eclipse.wtp.emf/runtime/wtpemf.jar b/features/org.eclipse.jem-feature/org.eclipse.wtp.emf/runtime/wtpemf.jar
deleted file mode 100644
index aeb18f332..000000000
--- a/features/org.eclipse.jem-feature/org.eclipse.wtp.emf/runtime/wtpemf.jar
+++ /dev/null
Binary files differ
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 267118c30..000000000
--- a/features/org.eclipse.jem-feature/sourceTemplateFeature/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-bin.includes = feature.xml,\
- feature.properties,\
- cpl-v10.html,\
- eclipse_update_120.jpg,\
- license.html
-
-
diff --git a/features/org.eclipse.jem-feature/sourceTemplateFeature/cpl-v10.html b/features/org.eclipse.jem-feature/sourceTemplateFeature/cpl-v10.html
deleted file mode 100644
index 36aa208d4..000000000
--- a/features/org.eclipse.jem-feature/sourceTemplateFeature/cpl-v10.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-<HEAD>
-<TITLE>Common Public License - v 1.0</TITLE>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" VLINK="#800000">
-
-
-<P ALIGN="CENTER"><B>Common Public License - v 1.0</B>
-<P><B></B><FONT SIZE="3"></FONT>
-<P><FONT SIZE="3"></FONT><FONT SIZE="2">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>1. DEFINITIONS</B></FONT>
-<P><FONT SIZE="2">"Contribution" means:</FONT>
-
-<UL><FONT SIZE="2">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:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i) changes to the Program, and</FONT></UL>
-
-
-<UL><FONT SIZE="2">ii) additions to the Program;</FONT></UL>
-
-
-<UL><FONT SIZE="2">where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. </FONT><FONT SIZE="2">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. </FONT><FONT SIZE="2">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. </FONT></UL>
-
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Contributor" means any person or entity that distributes the Program.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Licensed Patents " 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. </FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">"Program" means the Contributions distributed in accordance with this Agreement.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.</FONT>
-<P><FONT SIZE="2"><B></B></FONT>
-<P><FONT SIZE="2"><B>2. GRANT OF RIGHTS</B></FONT>
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">a) </FONT><FONT SIZE="2">Subject to the terms of this Agreement, each Contributor hereby grants</FONT><FONT SIZE="2"> Recipient a non-exclusive, worldwide, royalty-free copyright license to</FONT><FONT SIZE="2" COLOR="#FF0000"> </FONT><FONT SIZE="2">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.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">b) Subject to the terms of this Agreement, each Contributor hereby grants </FONT><FONT SIZE="2">Recipient a non-exclusive, worldwide,</FONT><FONT SIZE="2" COLOR="#008000"> </FONT><FONT SIZE="2">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. </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">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.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">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. </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2"><B>3. REQUIREMENTS</B></FONT>
-<P><FONT SIZE="2"><B></B>A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:</FONT>
-
-<UL><FONT SIZE="2">a) it complies with the terms and conditions of this Agreement; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">b) its license agreement:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i) effectively disclaims</FONT><FONT SIZE="2"> 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; </FONT></UL>
-
-
-<UL><FONT SIZE="2">ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; </FONT></UL>
-
-
-<UL><FONT SIZE="2">iii)</FONT><FONT SIZE="2"> states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">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.</FONT><FONT SIZE="2" COLOR="#0000FF"> </FONT><FONT SIZE="2" COLOR="#FF0000"></FONT></UL>
-
-
-<UL><FONT SIZE="2" COLOR="#FF0000"></FONT><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2">When the Program is made available in source code form:</FONT>
-
-<UL><FONT SIZE="2">a) it must be made available under this Agreement; and </FONT></UL>
-
-
-<UL><FONT SIZE="2">b) a copy of this Agreement must be included with each copy of the Program. </FONT></UL>
-
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT><FONT SIZE="2">Contributors may not remove or alter any copyright notices contained within the Program. </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">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. </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>4. COMMERCIAL DISTRIBUTION</B></FONT>
-<P><FONT SIZE="2">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 ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") 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.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">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.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"></FONT><FONT SIZE="2"><B>5. NO WARRANTY</B></FONT>
-<P><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" 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</FONT><FONT SIZE="2"> solely responsible for determining the appropriateness of using and distributing </FONT><FONT SIZE="2">the Program</FONT><FONT SIZE="2"> and assumes all risks associated with its exercise of rights under this Agreement</FONT><FONT SIZE="2">, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, </FONT><FONT SIZE="2">programs or equipment, and unavailability or interruption of operations</FONT><FONT SIZE="2">. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"><B>6. DISCLAIMER OF LIABILITY</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">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 </FONT><FONT SIZE="2">(INCLUDING WITHOUT LIMITATION LOST PROFITS),</FONT><FONT SIZE="2"> 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.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>7. GENERAL</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">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.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, 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. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">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. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">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 </FONT><FONT SIZE="2">publish new versions (including revisions) of this Agreement from time to </FONT><FONT SIZE="2">time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. </FONT><FONT SIZE="2">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 </FONT><FONT SIZE="2">version. </FONT><FONT SIZE="2">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, </FONT><FONT SIZE="2">by implication, estoppel or otherwise</FONT><FONT SIZE="2">.</FONT><FONT SIZE="2"> All rights in the Program not expressly granted under this Agreement are reserved.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">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.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-
-</BODY>
-
-</HTML> \ No newline at end of file
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 68e3e0248..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/feature.properties b/features/org.eclipse.jem-feature/sourceTemplateFeature/feature.properties
deleted file mode 100644
index b082cc123..000000000
--- a/features/org.eclipse.jem-feature/sourceTemplateFeature/feature.properties
+++ /dev/null
@@ -1,129 +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 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/features/org.eclipse.jem-feature/sourceTemplateFeature/Attic/feature.properties,v $
-# $Revision: 1.2 $ $Date: 2003/11/03 19:16:05 $
-#
-
-
-# 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=Eclipse.org 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.ORG SOFTWARE USER AGREEMENT\n\
-14th August, 2003\n\
-\n\
-Usage Of Content\n\
-\n\
-ECLIPSE.ORG 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 Eclipse.org\n\
-is provided to you under the terms and conditions of the Common Public\n\
-License Version 1.0 ("CPL"). A copy of the CPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/cpl-v10.html.\n\
-For purposes of the CPL, "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 Eclipse.org 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\
- - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\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 Eclipse.org 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 ########################################## \ No newline at end of file
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 af8c38096..000000000
--- a/features/org.eclipse.jem-feature/sourceTemplateFeature/license.html
+++ /dev/null
@@ -1,71 +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.org Software User Agreement</h2>
-<p>14th August, 2003</p>
-
-<h3>Usage Of Content</h3>
-
-<p>ECLIPSE.ORG 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 Eclipse.org is provided to you under the terms and conditions of the Common Public License Version 1.0
- (&quot;CPL&quot;). A copy of the CPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
- For purposes of the CPL, &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 Eclipse.org 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 CPL 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>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</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 Eclipse.org 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> \ No newline at end of file
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 ba54e70e9..000000000
--- a/features/org.eclipse.jem-feature/sourceTemplatePlugin/about.html
+++ /dev/null
@@ -1,36 +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>20th June, 2002</p>
-<h3>License</h3>
-<p>Eclipse.org 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
-Common Public License Version 1.0 (&quot;CPL&quot;). A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean 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 CPL.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License. In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</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 6d2e31224..000000000
--- a/features/org.eclipse.jem-feature/sourceTemplatePlugin/about.properties
+++ /dev/null
@@ -1,28 +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 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/features/org.eclipse.jem-feature/sourceTemplatePlugin/Attic/about.properties,v $
-# $Revision: 1.1 $ $Date: 2003/10/28 23:17:31 $
-#
-
-# 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 IBM Corp. and others 2003. 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 f50e57842..000000000
--- a/features/org.eclipse.jem-feature/sourceTemplatePlugin/build.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-bin.includes = plugin.xml,\
- plugin.properties,\
- about.html,\
- about.ini,\
- about.mappings,\
- about.properties,\
- eclipse32.gif,\
- src/
-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 f71a8f6f9..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 c0ae7c089..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 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/features/org.eclipse.jem-feature/sourceTemplatePlugin/Attic/plugin.properties,v $
-# $Revision: 1.2 $ $Date: 2003/11/03 19:16:05 $
-#
-
-
-pluginName = Java EMF Model Source
-providerName = Eclipse.org \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo.ui/.classpath b/plugins/org.eclipse.jem.beaninfo.ui/.classpath
deleted file mode 100644
index 5705cbcfb..000000000
--- a/plugins/org.eclipse.jem.beaninfo.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <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.beaninfo.ui/.cvsignore b/plugins/org.eclipse.jem.beaninfo.ui/.cvsignore
deleted file mode 100644
index 60463af3f..000000000
--- a/plugins/org.eclipse.jem.beaninfo.ui/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-build.xml
diff --git a/plugins/org.eclipse.jem.beaninfo.ui/.options b/plugins/org.eclipse.jem.beaninfo.ui/.options
deleted file mode 100644
index 9456d1823..000000000
--- a/plugins/org.eclipse.jem.beaninfo.ui/.options
+++ /dev/null
@@ -1,2 +0,0 @@
-org.eclipse.jem.beaninfo.ui/debug/echoconsole=default
-org.eclipse.jem.beaninfo.ui/debug/loglevel=default
diff --git a/plugins/org.eclipse.jem.beaninfo.ui/.project b/plugins/org.eclipse.jem.beaninfo.ui/.project
deleted file mode 100644
index a74a16c8e..000000000
--- a/plugins/org.eclipse.jem.beaninfo.ui/.project
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.jem.beaninfo.ui</name>
- <comment></comment>
- <projects>
- <project>org.eclipse.core.boot</project>
- <project>org.eclipse.core.resources</project>
- <project>org.eclipse.core.runtime</project>
- <project>org.eclipse.jdt.core</project>
- <project>org.eclipse.jdt.ui</project>
- <project>org.eclipse.jem</project>
- <project>org.eclipse.jem.beaninfo</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.beaninfo.ui/about.html b/plugins/org.eclipse.jem.beaninfo.ui/about.html
deleted file mode 100644
index 9db411aab..000000000
--- a/plugins/org.eclipse.jem.beaninfo.ui/about.html
+++ /dev/null
@@ -1,30 +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>20th June, 2002</p>
-<h3>License</h3>
-<p>Eclipse.org 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
-Common Public License Version 1.0 (&quot;CPL&quot;). A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License. In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BIListElementSorter.java b/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BIListElementSorter.java
deleted file mode 100644
index be9823a75..000000000
--- a/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BIListElementSorter.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.ui;
-/*******************************************************************************
- * 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 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: BIListElementSorter.java,v $
- * $Revision: 1.1 $ $Date: 2003/10/27 17:20:50 $
- */
-
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-
-import org.eclipse.jem.internal.beaninfo.adapters.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 3;
- case IClasspathEntry.CPE_PROJECT:
- return 1;
- case IClasspathEntry.CPE_SOURCE:
- return 0;
- case IClasspathEntry.CPE_VARIABLE:
- return 2;
- case BeaninfoEntry.BIE_PLUGIN:
- return 4;
- }
- }
- 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.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BPBeaninfoListElement.java b/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BPBeaninfoListElement.java
deleted file mode 100644
index af353cc49..000000000
--- a/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BPBeaninfoListElement.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.ui;
-/*******************************************************************************
- * 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 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: BPBeaninfoListElement.java,v $
- * $Revision: 1.1 $ $Date: 2003/10/27 17:20:50 $
- */
-
-import org.eclipse.jem.internal.beaninfo.adapters.BeaninfoEntry;
-import org.eclipse.jem.internal.beaninfo.adapters.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);
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BPListElement.java b/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BPListElement.java
deleted file mode 100644
index 7b408ab7f..000000000
--- a/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BPListElement.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.ui;
-/*******************************************************************************
- * 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 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: BPListElement.java,v $
- * $Revision: 1.1 $ $Date: 2003/10/27 17:20:50 $
- */
-
-
-import org.eclipse.jem.internal.beaninfo.adapters.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);
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BPSearchListElement.java b/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BPSearchListElement.java
deleted file mode 100644
index 312df29ca..000000000
--- a/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BPSearchListElement.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.ui;
-/*******************************************************************************
- * 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 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: BPSearchListElement.java,v $
- * $Revision: 1.1 $ $Date: 2003/10/27 17:20:50 $
- */
-
-import org.eclipse.jem.internal.beaninfo.adapters.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) {
- }
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeanInfoUIMessages.java b/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeanInfoUIMessages.java
deleted file mode 100644
index 9fbf96739..000000000
--- a/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeanInfoUIMessages.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.ui;
-/*******************************************************************************
- * 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 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: BeanInfoUIMessages.java,v $
- * $Revision: 1.1 $ $Date: 2003/10/27 17:20:50 $
- */
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class BeanInfoUIMessages {
-
- private static final String BUNDLE_NAME = "org.eclipse.jem.internal.beaninfo.ui.messages"; //$NON-NLS-1$
-
- public static final String BUI_ERRORTITLE = "Beaninfo_UI_.errortitle"; //$NON-NLS-1$
- public static final String BUI_ERROR = "Beaninfo_UI_.error"; //$NON-NLS-1$
-
- public static final String BPP_NOJAVAPROJECT = "BeaninfoPropertiesPage_INFO_.nojavaproject"; //$NON-NLS-1$
- public static final String BPP_CLOSEDPROJECT = "BeaninfoPropertiesPage_INFO_.closedproject"; //$NON-NLS-1$
-
- public static final String BPB_ENABLEBEANINFO = "BeaninfoPathsBlock_UI_.enablebeaninfo"; //$NON-NLS-1$
-
- public static final String BPB_SEARCHPATH_LABEL = "BeaninfoPathsBlock_UI_.searchpath.label"; //$NON-NLS-1$
- public static final String BPB_SEARCHPATH_UP = "BeaninfoPathsBlock_UI_.searchpath.up.button"; //$NON-NLS-1$
- public static final String BPB_SEARCHPATH_DOWN = "BeaninfoPathsBlock_UI_.searchpath.down.button"; //$NON-NLS-1$
- public static final String BPB_SEARCHPATH_REMOVE = "BeaninfoPathsBlock_UI_.searchpath.remove.button"; //$NON-NLS-1$
- public static final String BPB_SEARCHPATH_ADD = "BeaninfoPathsBlock_UI_.searchpath.add.button"; //$NON-NLS-1$
- public static final String BPB_SEARCHPATH_TAB_ORDER = "BeaninfoPathsBlock_UI_.serachpath.tab.order"; //$NON-NLS-1$
-
- public static final String BPB_SEARCHPATH_MISSINGPACKAGE_FORMAT = "BeaninfoPathsBlock_WARN_.searchpath.missing.path.format"; //$NON-NLS-1$
- public static final String BPB_SEARCHPATH_OPDESC = "BeaninfoPathsBlock_UI_.searchpath.operationdescription"; //$NON-NLS-1$
-
- public static final String BPB_ADDSEARCHPATH_TITLE = "BeaninfoPathsBlock_UI_.addsearchpath.title"; //$NON-NLS-1$
- public static final String BPB_ADDSEARCHPATH_DESC = "BeaninfoPathsBlock_UI_.addsearchpath.description"; //$NON-NLS-1$
-
- public static final String BPB_SEARCHPATH_MISSING = "BeaninfoPathsBlock_UI_.warning.EntryMissing"; //$NON-NLS-1$
-
- private static final ResourceBundle RESOURCE_BUNDLE =
- ResourceBundle.getBundle(BUNDLE_NAME);
-
- private BeanInfoUIMessages() {
- }
-
- public static String getString(String key) {
- try {
- return RESOURCE_BUNDLE.getString(key);
- } catch (MissingResourceException e) {
- return '!' + key + '!';
- }
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfoEntrySearchpathDialog.java b/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfoEntrySearchpathDialog.java
deleted file mode 100644
index b6c7d0fb6..000000000
--- a/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfoEntrySearchpathDialog.java
+++ /dev/null
@@ -1,354 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.ui;
-/*******************************************************************************
- * 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 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: BeaninfoEntrySearchpathDialog.java,v $
- * $Revision: 1.1 $ $Date: 2003/10/27 17:20:50 $
- */
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaConventions;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.ui.dialogs.ElementTreeSelectionDialog;
-import org.eclipse.ui.dialogs.ISelectionStatusValidator;
-import org.eclipse.jdt.internal.ui.util.PixelConverter;
-import org.eclipse.jdt.internal.ui.wizards.TypedViewerFilter;
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.DialogField;
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.IListAdapter;
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.LayoutUtil;
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.ListDialogField;
-import org.eclipse.jdt.ui.JavaElementLabelProvider;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IInputValidator;
-import org.eclipse.jface.dialogs.InputDialog;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.jem.internal.beaninfo.adapters.BeaninfoEntry;
-import org.eclipse.jem.internal.beaninfo.adapters.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[] {
- /* 0 */
- BeanInfoUIMessages.getString(BeanInfoUIMessages.BPB_SEARCHPATH_UP),
- /* 1 */
- BeanInfoUIMessages.getString(BeanInfoUIMessages.BPB_SEARCHPATH_DOWN),
- /* 2 */
- null,
- /* 3 */
- BeanInfoUIMessages.getString("SearchPathDialog.ChoosePackages"), //$NON-NLS-1$
- /* 4 */
- null,
- /* 5 */
- BeanInfoUIMessages.getString("SearchPathDialog.Remove") }; //$NON-NLS-1$
-
- listField = new ListDialogField(adapter, buttonLabels, new SearchPathListLabelProvider());
- listField.setLabelText(BeanInfoUIMessages.getString("SearchPathDialog.Desc.Label")); //$NON-NLS-1$
- listField.setUpButtonIndex(0);
- listField.setDownButtonIndex(1);
- listField.setRemoveButtonIndex(5);
- }
-
- protected void configureShell(Shell newShell) {
- super.configureShell(newShell);
- newShell.setText(
- MessageFormat.format(
- BeanInfoUIMessages.getString("SearchPathDialog.ModifySearchPaths"), //$NON-NLS-1$
- 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.getString("SearchPathDialog.NotEditable_INFO_")); //$NON-NLS-1$
- 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.getString(BeanInfoUIMessages.BPB_ADDSEARCHPATH_TITLE));
-
- dialog.setValidator(validator);
- dialog.setMessage(BeanInfoUIMessages.getString(BeanInfoUIMessages.BPB_ADDSEARCHPATH_DESC));
- 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.getString("SearchPathDialog.PackagePresent_INFO_"); //$NON-NLS-1$
-
- IStatus status = JavaConventions.validatePackageName(newText);
- return status.getSeverity() == IStatus.OK ? null : status.getMessage();
- }
- };
- InputDialog dialog = new InputDialog(getShell(), BeanInfoUIMessages.getString("SearchPathDialog.InputDialog.Title"), BeanInfoUIMessages.getString("SearchPathDialog.InputDialog.Message"), null, validator); //$NON-NLS-1$ //$NON-NLS-2$
- 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;
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfoPathsBlock.java b/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfoPathsBlock.java
deleted file mode 100644
index a6602f1f9..000000000
--- a/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfoPathsBlock.java
+++ /dev/null
@@ -1,559 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.ui;
-/*******************************************************************************
- * 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 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: BeaninfoPathsBlock.java,v $
- * $Revision: 1.2 $ $Date: 2004/01/13 16:16:48 $
- */
-
-import java.io.File;
-import java.lang.reflect.InvocationTargetException;
-import java.net.MalformedURLException;
-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.util.TabFolderLayout;
-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.*;
-
-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;
-
- public BeaninfoPathsBlock(IWorkspaceRoot root, IStatusChangeListener context) {
- fWorkspaceRoot = root;
- fContext = context;
- fCurrPage = null;
-
- BuildPathAdapter adapter = new BuildPathAdapter();
-
- String[] buttonLabels = new String[] {
- /* 0 */
- BeanInfoUIMessages.getString(BeanInfoUIMessages.BPB_SEARCHPATH_UP),
- /* 1 */
- BeanInfoUIMessages.getString(BeanInfoUIMessages.BPB_SEARCHPATH_DOWN),
- /* 2 */ null,
- /* 3 */ BeanInfoUIMessages.getString("BeanInfoPathsBlock.ExportAll") , //$NON-NLS-1$
- /* 4 */ BeanInfoUIMessages.getString("BeanInfoPathsBlock.UnexportAll") //$NON-NLS-1$
- };
-
- fSearchOrder = new CheckedListDialogField(null, buttonLabels, new SearchPathListLabelProvider());
- fSearchOrder.setDialogFieldListener(adapter);
- fSearchOrder.setLabelText(
- BeanInfoUIMessages.getString(BeanInfoUIMessages.BPB_SEARCHPATH_LABEL));
- fSearchOrder.setUpButtonIndex(0);
- fSearchOrder.setDownButtonIndex(1);
- fSearchOrder.setCheckAllButtonIndex(3);
- fSearchOrder.setUncheckAllButtonIndex(4);
-
- fEnableBeaninfoDialogField = new SelectionButtonDialogField(SWT.CHECK);
- fEnableBeaninfoDialogField.setLabelText(
- BeanInfoUIMessages.getString(BeanInfoUIMessages.BPB_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.setLayout(new TabFolderLayout());
- 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.getString("BeanInfoPathsBlock.Page.Tab.Packages")); //$NON-NLS-1$
- item.setImage(imageRegistry.get(JavaPluginImages.IMG_OBJS_PACKAGE));
- item.setData(fPackagesPage);
- item.setControl(fPackagesPage.getControl(folder));
-
- // a non shared image
- Image fBeanImage = null;
- try {
- ImageDescriptor pin = ImageDescriptor.createFromURL(
- new URL(BeaninfoUIPlugin.getPlugin().getDescriptor().getInstallURL(), "icons/javabean.gif")); //$NON-NLS-1$
- fBeanImage = pin.createImage();
- } catch(MalformedURLException e) {
- fBeanImage = ImageDescriptor.getMissingImageDescriptor().createImage();
- }
- composite.addDisposeListener(new ImageDisposer(fBeanImage));
-
- fBeaninfosPage= new BeaninfosWorkbookPage(fWorkspaceRoot, this, interestedDialogFields);
- item= new TabItem(folder, SWT.NONE);
- item.setText(BeanInfoUIMessages.getString("BeanInfoPathsBlock.Page.Tab.Classes")); //$NON-NLS-1$
- 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.getString(BeanInfoUIMessages.BPB_SEARCHPATH_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;
-
- 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 = true;
- BPListElement elem = null;
- if (curr instanceof BeaninfoEntry) {
- BeaninfoEntry be = (BeaninfoEntry) curr;
-
- // get the resource, this tells if the beaninfos exist or not.
- Object path = be.getClasspath();
- if (path instanceof IProject)
- isMissing = !((IProject) path).exists();
- else {
- File f = null;
- if (path instanceof String)
- f = new File((String) path);
- else if (path instanceof String[] && ((String[]) path).length > 0)
- f = new File(((String[]) path)[0]);
- if (f != null)
- isMissing = !f.exists();
- }
-
- 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;
- 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);
- }
-
- 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.getString(BeanInfoUIMessages.BPB_SEARCHPATH_MISSING));
- }
- } 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.getString(BeanInfoUIMessages.BPB_SEARCHPATH_OPDESC),
- 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;
- }
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfoUIPlugin.java b/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfoUIPlugin.java
deleted file mode 100644
index 839991930..000000000
--- a/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfoUIPlugin.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.ui;
-/*******************************************************************************
- * 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 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: BeaninfoUIPlugin.java,v $
- * $Revision: 1.1 $ $Date: 2003/10/27 17:20:50 $
- */
-
-
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.jem.internal.core.EclipseLogMsgLogger;
-import org.eclipse.jem.internal.core.MsgLogger;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-/**
- * Plugin class for the Beaninfo UI Plugin
- */
-
-public class BeaninfoUIPlugin extends AbstractUIPlugin {
- public static final String PI_BEANINFO_UI = "org.eclipse.jem.internal.beaninfo.ui"; // Plugin ID //$NON-NLS-1$
- private static BeaninfoUIPlugin BEANINFO_UI_PLUGIN = null;
-
- public BeaninfoUIPlugin(IPluginDescriptor pluginDescriptor) {
- super(pluginDescriptor);
- BEANINFO_UI_PLUGIN = this;
- }
-
- /**
- * Accessor method to get the singleton plugin.
- */
- public static BeaninfoUIPlugin getPlugin() {
- return BEANINFO_UI_PLUGIN;
- }
-
- private MsgLogger msgLogger;
- public MsgLogger getMsgLogger() {
- if (msgLogger == null)
- msgLogger = EclipseLogMsgLogger.createLogger(this);
- return msgLogger;
- }
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfosPropertyPage.java b/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfosPropertyPage.java
deleted file mode 100644
index a3c9bdf82..000000000
--- a/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfosPropertyPage.java
+++ /dev/null
@@ -1,145 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.ui;
-/*******************************************************************************
- * 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 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: BeaninfosPropertyPage.java,v $
- * $Revision: 1.1 $ $Date: 2003/10/27 17:20:50 $
- */
-
-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.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.actions.WorkspaceModifyDelegatingOperation;
-import org.eclipse.ui.dialogs.PropertyPage;
-
-/**
- * Property page for configuring Beaninfo path
- */
-public class BeaninfosPropertyPage extends PropertyPage implements IStatusChangeListener {
-
- private BeaninfoPathsBlock fBuildPathsBlock;
-
- /*
- * @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();
-
- IProject project= getProject();
- if (project == null || !isJavaProject(project)) {
- return createWithoutJava(parent);
- } else if (!project.isOpen()) {
- return createForClosedProject(parent);
- } else {
- return createWithJava(parent, project);
- }
- }
-
- /**
- * Content for valid projects.
- */
- private Control createWithJava(Composite parent, IProject project) {
- IWorkspaceRoot root= ResourcesPlugin.getWorkspace().getRoot();
- fBuildPathsBlock= new BeaninfoPathsBlock(root, this);
- fBuildPathsBlock.init(JavaCore.create(project));
- return fBuildPathsBlock.createControl(parent);
- }
-
- /**
- * Content for non-Java projects.
- */
- private Control createWithoutJava(Composite parent) {
- Label label= new Label(parent, SWT.LEFT);
- label.setText(BeanInfoUIMessages.getString(BeanInfoUIMessages.BPP_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.getString(BeanInfoUIMessages.BPP_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) {
- BeaninfoUIPlugin.getPlugin().getMsgLogger().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 {
- new ProgressMonitorDialog(shell).run(false, false, op);
- } catch (InvocationTargetException e) {
- String title= BeanInfoUIMessages.getString(BeanInfoUIMessages.BUI_ERRORTITLE);
- String message= BeanInfoUIMessages.getString(BeanInfoUIMessages.BUI_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);
- }
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfosWorkbookPage.java b/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfosWorkbookPage.java
deleted file mode 100644
index 00465c1c2..000000000
--- a/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfosWorkbookPage.java
+++ /dev/null
@@ -1,591 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.ui;
-/*******************************************************************************
- * 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 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: BeaninfosWorkbookPage.java,v $
- * $Revision: 1.1 $ $Date: 2003/10/27 17:20:50 $
- */
-
-import java.util.*;
-import java.util.List;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jem.internal.beaninfo.adapters.BeaninfoEntry;
-import org.eclipse.jdt.core.*;
-import org.eclipse.jdt.internal.ui.dialogs.StatusDialog;
-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.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;
-
-/**
- * @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 static final String DIALOGSTORE_LASTEXTJAR = BeaninfoUIPlugin.PI_BEANINFO_UI + ".lastextjar"; //$NON-NLS-1$
- private static final String DIALOGSTORE_LASTVARIABLE = BeaninfoUIPlugin.PI_BEANINFO_UI + ".lastvar"; //$NON-NLS-1$
-
- public BeaninfosWorkbookPage(IWorkspaceRoot root, BeaninfoPathsBlock biPathsBlock, List interestedFieldsForEnableControl) {
- this.biPathsBlock = biPathsBlock;
- fWorkspaceRoot= root;
- fSWTControl= null;
-
- fDialogSettings= BeaninfoUIPlugin.getPlugin().getDialogSettings();
-
- String[] buttonLabels= new String[] {
- /* 0 */ BeanInfoUIMessages.getString("BeanInfosWorkbookPage.AddFolders"), //$NON-NLS-1$
- /* 1 */ BeanInfoUIMessages.getString("BeanInfosWorkbookPage.AddJARs"), //$NON-NLS-1$
- /* 2 */ BeanInfoUIMessages.getString("BeanInfosWorkbookPage.AddExternalJAR"), //$NON-NLS-1$
- /* 3 */ BeanInfoUIMessages.getString("BeanInfosWorkbookPage.AddVariable"), //$NON-NLS-1$
- /* 4 */ BeanInfoUIMessages.getString("BeanInfosWorkbookPage.AddProjects"), //$NON-NLS-1$
- /* 5 */ null,
- /* 6 */ BeanInfoUIMessages.getString("BeanInfosWorkbookPage.ModifyPaths"), //$NON-NLS-1$
- /* 7 */ null,
- /* 8 */ BeanInfoUIMessages.getString("BeanInfosWorkbookPage.Remove") //$NON-NLS-1$
- };
-
- BeaninfosAdapter adapter= new BeaninfosAdapter();
-
- fBeaninfosList= new ListDialogField(adapter, buttonLabels, new SearchPathListLabelProvider());
- fBeaninfosList.setDialogFieldListener(adapter);
- fBeaninfosList.setLabelText(BeanInfoUIMessages.getString("BeanInfosWorkbookPage.List.Text")); //$NON-NLS-1$
- 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;
- 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 BeaninfoUIPlugin.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 = (ListDialogField) 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.getString("BeanInfosWorkbookPage.SelectionDialog.Classes.Title")); //$NON-NLS-1$
- dialog.setMessage(BeanInfoUIMessages.getString("BeanInfosWorkbookPage.SelectionDialog.Classes.Prompt")); //$NON-NLS-1$
- 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.getString("BeanInfosWorkbookPage.SelectionDialog.JARs.Title")); //$NON-NLS-1$
- dialog.setMessage(BeanInfoUIMessages.getString("BeanInfosWorkbookPage.SelectionDialog.JARs.Message")); //$NON-NLS-1$
- 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
- BeaninfoUIPlugin.getPlugin().getMsgLogger().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.getString("BeanInfosWorkbookPage.SelectionDialog.ExtJARs.Text")); //$NON-NLS-1$
- 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.getString("BeanInfosWorkbookPage.SelectionDialog.Projects.Title")); //$NON-NLS-1$
- dialog.setMessage(BeanInfoUIMessages.getString("BeanInfosWorkbookPage.SelectionDialog.Projects.Prompt")); //$NON-NLS-1$
- 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.getString("LibrariesWorkbookPage.VariableSelectionDialog.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.getString("LibrariesWorkbookPage.VariableSelectionDialog.message")); //$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.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BuildSearchBasePage.java b/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BuildSearchBasePage.java
deleted file mode 100644
index 810bea938..000000000
--- a/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BuildSearchBasePage.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.ui;
-/*******************************************************************************
- * 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 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: BuildSearchBasePage.java,v $
- * $Revision: 1.1 $ $Date: 2003/10/27 17:20:50 $
- */
-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.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/PackageOnlyContentProvider.java b/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/PackageOnlyContentProvider.java
deleted file mode 100644
index a2b1618a2..000000000
--- a/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/PackageOnlyContentProvider.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.ui;
-/*******************************************************************************
- * 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 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: PackageOnlyContentProvider.java,v $
- * $Revision: 1.1 $ $Date: 2003/10/27 17:20:50 $
- */
-
-
-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);
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/PackagesWorkbookPage.java b/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/PackagesWorkbookPage.java
deleted file mode 100644
index e989663f4..000000000
--- a/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/PackagesWorkbookPage.java
+++ /dev/null
@@ -1,434 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.ui;
-/*******************************************************************************
- * 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 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: PackagesWorkbookPage.java,v $
- * $Revision: 1.2 $ $Date: 2004/01/13 16:16:48 $
- */
-
-import java.util.*;
-import java.util.List;
-
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.runtime.IPath;
-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.adapters.SearchpathEntry;
-/**
- * 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 IClasspathEntry[] resolvedList;
- private IClasspathEntry[] rawList;
-
- public PackagesWorkbookPage(IWorkspaceRoot root, BeaninfoPathsBlock biPathsBlock, List interestedFieldsForEnableControl) {
- this.biPathsBlock = biPathsBlock;
-
- fSWTControl = null;
-
- PackagesAdapter adapter = new PackagesAdapter();
-
- String[] buttonLabels;
-
- buttonLabels = new String[] {
- /* 0 */
- BeanInfoUIMessages.getString("PackagesWorkbook.ChoosePackages"), //$NON-NLS-1$
- /* 1 */
- BeanInfoUIMessages.getString("PackagesWorkbook.ChooseDefinedPaths"), //$NON-NLS-1$
- /* 2 */
- null,
- /* 3 */
- BeanInfoUIMessages.getString("PackagesWorkbook.Remove") }; //$NON-NLS-1$
-
- fSearchPackagesList = new ListDialogField(adapter, buttonLabels, new SearchPathListLabelProvider());
- fSearchPackagesList.setDialogFieldListener(adapter);
- fSearchPackagesList.setLabelText(BeanInfoUIMessages.getString("PackagesWorkbook.LabelText")); //$NON-NLS-1$
- fSearchPackagesList.setRemoveButtonIndex(3);
-
- fSearchPackagesList.setViewerSorter(new SPListElementSorter());
-
- interestedFieldsForEnableControl.add(fSearchPackagesList);
- }
-
- public void init(IJavaProject jproject) {
- fCurrJProject = 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];
- }
- 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 BeaninfoUIPlugin.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.getString(BeanInfoUIMessages.BPB_ADDSEARCHPATH_TITLE));
-
- dialog.setValidator(validator);
- dialog.setMessage(BeanInfoUIMessages.getString(BeanInfoUIMessages.BPB_ADDSEARCHPATH_DESC));
- 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. Registered vars will be added later.
- // 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 and Registered vars 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 labelProvider = new SearchPathListLabelProvider();
- ElementListSelectionDialog dialog =
- new ElementListSelectionDialog(getShell(), labelProvider);
- dialog.setTitle(BeanInfoUIMessages.getString("PackagesWorkbook.SelectionDialog.DefinedPaths.Title")); //$NON-NLS-1$
-
- dialog.setMessage(BeanInfoUIMessages.getString("PackagesWorkbook.SelectionDialog.DefinedPaths.Message")); //$NON-NLS-1$
- 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.
- IPath path = ((IPackageFragmentRoot) frag.getParent()).getPath(); // Get frag root path.
- for (int i = 0; i < resolvedList.length; i++) {
- if (resolvedList[i] != null && path.equals(resolvedList[i].getPath())) {
- 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;
- }
-
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/SPListElementSorter.java b/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/SPListElementSorter.java
deleted file mode 100644
index 10fd80de9..000000000
--- a/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/SPListElementSorter.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.ui;
-/*******************************************************************************
- * 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 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: SPListElementSorter.java,v $
- * $Revision: 1.1 $ $Date: 2003/10/27 17:20:50 $
- */
-
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-
-import org.eclipse.jem.internal.beaninfo.adapters.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 3;
- case IClasspathEntry.CPE_PROJECT:
- return 1;
- case IClasspathEntry.CPE_SOURCE:
- return 0;
- case IClasspathEntry.CPE_VARIABLE:
- 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.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/SearchPathListLabelProvider.java b/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/SearchPathListLabelProvider.java
deleted file mode 100644
index 3dbd20949..000000000
--- a/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/SearchPathListLabelProvider.java
+++ /dev/null
@@ -1,341 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.ui;
-/*******************************************************************************
- * 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 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: SearchPathListLabelProvider.java,v $
- * $Revision: 1.2 $ $Date: 2004/01/13 16:16:48 $
- */
-
-import java.net.MalformedURLException;
-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.IPath;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.JavaCore;
-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.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.internal.misc.OverlayComposite;
-
-import org.eclipse.jem.internal.beaninfo.adapters.*;
-
-public class SearchPathListLabelProvider extends LabelProvider {
-
- IWorkspaceRoot fRoot;
-
- // Shared images
- private Image fJarIcon, fExtJarIcon;
- private Image fFolderImage, fProjectImage, fVariableImage;
- private Image fMissingLibaryImage, 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 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() {
- 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);
-
- IWorkbench workbench = JavaPlugin.getDefault().getWorkbench();
- fProjectImage = workbench.getSharedImages().getImage(IDE.SharedImages.IMG_OBJ_PROJECT);
-
- fMissingLibaryImage = 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);
-
- try {
- ImageDescriptor pin =
- ImageDescriptor.createFromURL(
- new URL(BeaninfoUIPlugin.getPlugin().getDescriptor().getInstallURL(), "icons/plugin_obj.gif")); //$NON-NLS-1$
- fPluginImage = pin.createImage();
-
- pin =
- ImageDescriptor.createFromURL(
- new URL(BeaninfoUIPlugin.getPlugin().getDescriptor().getInstallURL(), "icons/javabean.gif")); //$NON-NLS-1$
- fBeanImage = pin.createImage();
-
- pin =
- ImageDescriptor.createFromURL(
- new URL(
- BeaninfoUIPlugin.getPlugin().getDescriptor().getInstallURL(),
- "icons/package_obj_missing.gif")); //$NON-NLS-1$
- fMissingPackageImage = pin.createImage();
-
- pin =
- ImageDescriptor.createFromURL(
- new URL(
- BeaninfoUIPlugin.getPlugin().getDescriptor().getInstallURL(),
- "icons/blank.gif")); //$NON-NLS-1$
- fBlankImage = pin.createImage();
- } catch (MalformedURLException e) {
- if (fPluginImage == null)
- fPluginImage = ImageDescriptor.getMissingImageDescriptor().createImage();
- if (fBeanImage == null)
- fBeanImage = ImageDescriptor.getMissingImageDescriptor().createImage();
- if (fMissingPackageImage == null)
- fMissingPackageImage = ImageDescriptor.getMissingImageDescriptor().createImage();
- if (fBlankImage == null)
- fBlankImage = ImageDescriptor.getMissingImageDescriptor().createImage();
- }
-
- }
-
- public String getText(Object element) {
- if (element instanceof BPListElement) {
- BPListElement bpentry = (BPListElement) element;
- IBeaninfosDocEntry docEntry = (IBeaninfosDocEntry) 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.getString("LabelProvider.Library.Folder"), new Object[] { path.makeRelative().toString()}); //$NON-NLS-1$
- } 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.getString("LabelProvider.Library.(PathLastSegment,PathRelative)"), args); //$NON-NLS-1$
- }
- } else {
- if (ArchiveFileFilter.isArchivePath(path)) {
- // External library
- String[] args =
- new String[] { path.lastSegment(), path.removeLastSegments(1).toString()};
- pathString = MessageFormat.format(BeanInfoUIMessages.getString("LabelProvider.Library.(PathLastSegment,PathExceptLast)"), args); //$NON-NLS-1$
- } 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.getString("LabelProvider.Variable.(name,PathOSString)"), //$NON-NLS-1$
- new Object[] { name, entryPath.append(path.removeFirstSegments(1)).toOSString()});
- else
- pathString = name;
- 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.getString("LabelProvider.(packageName,Path)"), new Object[] { packageName, pathString }); //$NON-NLS-1$
- 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 = (IBeaninfosDocEntry) 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 = fMissingLibaryImage;
- 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 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();
- 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();
- }
- }
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/SearchpathOrderingWorkbookPage.java b/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/SearchpathOrderingWorkbookPage.java
deleted file mode 100644
index 4c3c974dc..000000000
--- a/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/SearchpathOrderingWorkbookPage.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.ui;
-/*******************************************************************************
- * 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 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: SearchpathOrderingWorkbookPage.java,v $
- * $Revision: 1.1 $ $Date: 2003/10/27 17:20:50 $
- */
-
-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.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/VariableSelectionBlock.java b/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/VariableSelectionBlock.java
deleted file mode 100644
index c23be0f05..000000000
--- a/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/VariableSelectionBlock.java
+++ /dev/null
@@ -1 +0,0 @@
-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; /******************************************************************************* * Copyright (c) 2003 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: VariableSelectionBlock.java,v $ * $Revision: 1.2 $ $Date: 2004/01/13 16:16:48 $ */ 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.getString("VariableSelectionBlock.variable.label")); //$NON-NLS-1$ fVariableField.setButtonLabel(BeanInfoUIMessages.getString("VariableSelectionBlock.variable.button")); //$NON-NLS-1$ fExtensionField= new StringButtonDialogField(adapter); fExtensionField.setDialogFieldListener(adapter); fExtensionField.setLabelText(BeanInfoUIMessages.getString("VariableSelectionBlock.extension.label")); //$NON-NLS-1$ fExtensionField.setButtonLabel(BeanInfoUIMessages.getString("VariableSelectionBlock.extension.button")); //$NON-NLS-1$ 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.getString("VariableSelectionBlock.fullpath.label")); //$NON-NLS-1$ 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.getString("VariableSelectionBlock.error.entername_ERROR_")); //$NON-NLS-1$ } else { fVariable= ""; //$NON-NLS-1$ } } else if (JavaCore.getClasspathVariable(name) == null) { status.setError(BeanInfoUIMessages.getString("VariableSelectionBlock.error.namenotexists_ERROR_")); //$NON-NLS-1$ } 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.getString("VariableSelectionBlock.error.invalidextension_ERROR_")); //$NON-NLS-1$ } return status; } private IStatus getExistsStatus() { StatusInfo status= new StatusInfo(); IPath path= getResolvedPath(); if (path != null) { if (findPath(path)) { status.setError(BeanInfoUIMessages.getString("VariableSelectionBlock.error.pathexists_ERROR_")); //$NON-NLS-1$ } else if (!path.toFile().isFile()) { status.setWarning(BeanInfoUIMessages.getString("VariableSelectionBlock.warning.pathnotexists_WARN_")); //$NON-NLS-1$ } } else { status.setWarning(BeanInfoUIMessages.getString("VariableSelectionBlock.warning.pathnotexists_WARN_")); //$NON-NLS-1$ } 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.getString("VariableSelectionBlock.ExtJarDialog.title")); //$NON-NLS-1$ 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; } } \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/messages.properties b/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/messages.properties
deleted file mode 100644
index 017434140..000000000
--- a/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/messages.properties
+++ /dev/null
@@ -1,108 +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 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/plugins/org.eclipse.jem.beaninfo.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/Attic/messages.properties,v $
-# $Revision: 1.1 $ $Date: 2003/10/27 17:20:50 $
-#
-
-
-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.beaninfo.ui/build.properties b/plugins/org.eclipse.jem.beaninfo.ui/build.properties
deleted file mode 100644
index 81cc5e7a2..000000000
--- a/plugins/org.eclipse.jem.beaninfo.ui/build.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-src.excludes = **/.cvsignore
-bin.includes = plugin.xml,\
- plugin.properties,\
- beaninfoui.jar,\
- about.html,\
- icons/**,\
- .options
-source.beaninfoui.jar = beaninfoui/
-src.includes = about.html
diff --git a/plugins/org.eclipse.jem.beaninfo.ui/icons/blank.gif b/plugins/org.eclipse.jem.beaninfo.ui/icons/blank.gif
deleted file mode 100644
index 21f9d0244..000000000
--- a/plugins/org.eclipse.jem.beaninfo.ui/icons/blank.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jem.beaninfo.ui/icons/javabean.gif b/plugins/org.eclipse.jem.beaninfo.ui/icons/javabean.gif
deleted file mode 100644
index c91c816a4..000000000
--- a/plugins/org.eclipse.jem.beaninfo.ui/icons/javabean.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jem.beaninfo.ui/icons/package_obj_missing.gif b/plugins/org.eclipse.jem.beaninfo.ui/icons/package_obj_missing.gif
deleted file mode 100644
index cc9e243bf..000000000
--- a/plugins/org.eclipse.jem.beaninfo.ui/icons/package_obj_missing.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jem.beaninfo.ui/icons/plugin_obj.gif b/plugins/org.eclipse.jem.beaninfo.ui/icons/plugin_obj.gif
deleted file mode 100644
index 4e7b23db1..000000000
--- a/plugins/org.eclipse.jem.beaninfo.ui/icons/plugin_obj.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jem.beaninfo.ui/plugin.properties b/plugins/org.eclipse.jem.beaninfo.ui/plugin.properties
deleted file mode 100644
index a60dddb4f..000000000
--- a/plugins/org.eclipse.jem.beaninfo.ui/plugin.properties
+++ /dev/null
@@ -1,23 +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 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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/plugins/org.eclipse.jem.beaninfo.ui/Attic/plugin.properties,v $
-# $Revision: 1.1 $ $Date: 2003/10/27 17:20:50 $
-#
-
-
-pluginName=Java EMF Model BeanInfo (Introspection) UI
-providerName = Eclipse.org
-
-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.beaninfo.ui/plugin.xml b/plugins/org.eclipse.jem.beaninfo.ui/plugin.xml
deleted file mode 100644
index 6666b54ca..000000000
--- a/plugins/org.eclipse.jem.beaninfo.ui/plugin.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- id="org.eclipse.jem.beaninfo.ui"
- name="%pluginName"
- version="1.0.0"
- provider-name="%providerName"
- class="org.eclipse.jem.internal.beaninfo.ui.BeaninfoUIPlugin">
-
- <runtime>
- <library name="beaninfoui.jar">
- <export name="*"/>
- <packages prefixes="org.eclipse.jem.internal.beaninfo.ui"/>
- </library>
- </runtime>
- <requires>
- <import plugin="org.eclipse.jem.beaninfo"/>
- <import plugin="org.eclipse.jdt.core"/>
- <import plugin="org.eclipse.ui"/>
- <import plugin="org.eclipse.jdt.ui"/>
- <import plugin="org.eclipse.core.resources"/>
- <import plugin="org.eclipse.ui.ide"/>
- <import plugin="org.eclipse.jem"/>
- </requires>
-
-
- <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.text.TextEditor"
- contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
- id="org.eclipse.jem.beaninfo.OverrideEditor">
- </editor>
- </extension>
-
-</plugin>
diff --git a/plugins/org.eclipse.jem.beaninfo/.classpath b/plugins/org.eclipse.jem.beaninfo/.classpath
deleted file mode 100644
index dc3dadf4b..000000000
--- a/plugins/org.eclipse.jem.beaninfo/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="beaninfo/"/>
- <classpathentry 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 60463af3f..000000000
--- a/plugins/org.eclipse.jem.beaninfo/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-build.xml
diff --git a/plugins/org.eclipse.jem.beaninfo/.options b/plugins/org.eclipse.jem.beaninfo/.options
deleted file mode 100644
index efb15ac0e..000000000
--- a/plugins/org.eclipse.jem.beaninfo/.options
+++ /dev/null
@@ -1,2 +0,0 @@
-org.eclipse.jem.beaninfo/debug/echoconsole=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 5db4c2a13..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.core.boot</project>
- <project>org.eclipse.core.resources</project>
- <project>org.eclipse.core.runtime</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.wtp.emf.workbench</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/about.html b/plugins/org.eclipse.jem.beaninfo/about.html
deleted file mode 100644
index 9db411aab..000000000
--- a/plugins/org.eclipse.jem.beaninfo/about.html
+++ /dev/null
@@ -1,30 +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>20th June, 2002</p>
-<h3>License</h3>
-<p>Eclipse.org 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
-Common Public License Version 1.0 (&quot;CPL&quot;). A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License. In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</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 787df4331..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/BeanDecorator.java
+++ /dev/null
@@ -1,388 +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 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: BeanDecorator.java,v $
- * $Revision: 1.2 $ $Date: 2004/01/13 16:17:00 $
- */
-
-
-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 -->
- *
- * <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#isMergeSuperBehaviors <em>Merge Super Behaviors</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#isIntrospectBehaviors <em>Introspect Behaviors</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#getCustomizerClass <em>Customizer Class</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getBeanDecorator()
- * @model
- * @generated
- */
-
-
-public interface BeanDecorator extends FeatureDecorator{
- /**
- * Set merge super properties proxy. This can't be answered from the BeanDescriptor proxy,
- * so it must be explicitly set from the beaninfo class adapter.
- */
- public void setMergeSuperPropertiesProxy(Boolean bool);
-
- /**
- * Set merge super behaviors proxy. This can't be answered from the BeanDescriptor proxy,
- * so it must be explicitly set from the beaninfo class adapter.
- * @param value The new value of the MergeSuperBehaviors attribute
- */
- public void setMergeSuperBehaviorsProxy(Boolean value);
-
- /**
- * Set merge super events proxy. This can't be answered from the BeanDescriptor proxy,
- * so it must be explicitly set from the beaninfo class adapter.
- * @param value The new value of the MergeSuperBehaviors attribute
- */
- public void setMergeSuperEventsProxy(Boolean value);
-
- /**
- * 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 Behaviors</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 behaviors of super types be merged when asking for eAllBehaviors.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Merge Super Behaviors</em>' attribute.
- * @see #isSetMergeSuperBehaviors()
- * @see #unsetMergeSuperBehaviors()
- * @see #setMergeSuperBehaviors(boolean)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getBeanDecorator_MergeSuperBehaviors()
- * @model default="true" unsettable="true"
- * @generated
- */
- boolean isMergeSuperBehaviors();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isMergeSuperBehaviors <em>Merge Super Behaviors</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Merge Super Behaviors</em>' attribute.
- * @see #isSetMergeSuperBehaviors()
- * @see #unsetMergeSuperBehaviors()
- * @see #isMergeSuperBehaviors()
- * @generated
- */
- void setMergeSuperBehaviors(boolean value);
-
- /**
- * Unsets the value of the '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isMergeSuperBehaviors <em>Merge Super Behaviors</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetMergeSuperBehaviors()
- * @see #isMergeSuperBehaviors()
- * @see #setMergeSuperBehaviors(boolean)
- * @generated
- */
- void unsetMergeSuperBehaviors();
-
- /**
- * Returns whether the value of the '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isMergeSuperBehaviors <em>Merge Super Behaviors</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Merge Super Behaviors</em>' attribute is set.
- * @see #unsetMergeSuperBehaviors()
- * @see #isMergeSuperBehaviors()
- * @see #setMergeSuperBehaviors(boolean)
- * @generated
- */
- boolean isSetMergeSuperBehaviors();
-
- /**
- * 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 Behaviors</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 behaviors from the introspection be added to the class. This allows behaviors 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 Behaviors</em>' attribute.
- * @see #setIntrospectBehaviors(boolean)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getBeanDecorator_IntrospectBehaviors()
- * @model default="true"
- * @generated
- */
- boolean isIntrospectBehaviors();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.BeanDecorator#isIntrospectBehaviors <em>Introspect Behaviors</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Introspect Behaviors</em>' attribute.
- * @see #isIntrospectBehaviors()
- * @generated
- */
- void setIntrospectBehaviors(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);
-
- /**
- * 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 1295728c1..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/BeanEvent.java
+++ /dev/null
@@ -1,39 +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 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: BeanEvent.java,v $
- * $Revision: 1.2 $ $Date: 2004/01/13 16:17:00 $
- */
-
-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.
- * <!-- 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 ac0844803..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/BeaninfoFactory.java
+++ /dev/null
@@ -1,137 +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 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: BeaninfoFactory.java,v $
- * $Revision: 1.1 $ $Date: 2003/10/27 17:17:59 $
- */
-
-
-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 a new object of class '<em>Feature Attribute Value</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Feature Attribute Value</em>'.
- * @generated
- */
- FeatureAttributeValue createFeatureAttributeValue();
-
- /**
- * 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 6570ac6fa..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/BeaninfoPackage.java
+++ /dev/null
@@ -1,2326 +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 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: BeaninfoPackage.java,v $
- * $Revision: 1.2 $ $Date: 2004/01/13 16:17:00 $
- */
-
-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.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 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 = 3;
- /**
- * 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 = 8;
- /**
- * 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 = 6;
- /**
- * 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 = 7;
- /**
- * 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 = 2;
- /**
- * 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 = 4;
- /**
- * 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 = 5;
- /**
- * The meta object id for the '{@link org.eclipse.jem.internal.beaninfo.impl.FeatureAttributeValueImpl <em>Feature Attribute Value</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jem.internal.beaninfo.impl.FeatureAttributeValueImpl
- * @see org.eclipse.jem.internal.beaninfo.impl.BeaninfoPackageImpl#getFeatureAttributeValue()
- * @generated
- */
- int FEATURE_ATTRIBUTE_VALUE = 1;
- /**
- * The feature id for the '<em><b>Attributes Explicit</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int FEATURE_DECORATOR__ATTRIBUTES_EXPLICIT = EcorePackage.EANNOTATION_FEATURE_COUNT + 7;
- /**
- * The feature id for the '<em><b>Attributes</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int FEATURE_DECORATOR__ATTRIBUTES = EcorePackage.EANNOTATION_FEATURE_COUNT + 8;
- /**
- * 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 + 9;
-
- /**
- * The feature id for the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int FEATURE_ATTRIBUTE_VALUE__NAME = 0;
- /**
- * The feature id for the '<em><b>Value</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int FEATURE_ATTRIBUTE_VALUE__VALUE = 1;
-
- /**
- * The feature id for the '<em><b>Value Proxy</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int FEATURE_ATTRIBUTE_VALUE__VALUE_PROXY = 2;
- /**
- * The number of structural features of the the '<em>Feature Attribute Value</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int FEATURE_ATTRIBUTE_VALUE_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 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</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_DECORATOR__ATTRIBUTES_EXPLICIT = FEATURE_DECORATOR__ATTRIBUTES_EXPLICIT;
- /**
- * The feature id for the '<em><b>Attributes</b></em>' containment reference list.
- * <!-- 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 Behaviors</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_DECORATOR__MERGE_SUPER_BEHAVIORS = 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 Behaviors</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_DECORATOR__INTROSPECT_BEHAVIORS = 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>Customizer Class</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int BEAN_DECORATOR__CUSTOMIZER_CLASS = FEATURE_DECORATOR_FEATURE_COUNT + 7;
- /**
- * 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 + 8;
-
- /**
- * 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</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EVENT_SET_DECORATOR__ATTRIBUTES_EXPLICIT = FEATURE_DECORATOR__ATTRIBUTES_EXPLICIT;
- /**
- * The feature id for the '<em><b>Attributes</b></em>' containment reference list.
- * <!-- 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 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 = 9;
- /**
- * The feature id for the '<em><b>Listener Methods Explicit</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EVENT_SET_DECORATOR__LISTENER_METHODS_EXPLICIT = FEATURE_DECORATOR_FEATURE_COUNT + 2;
- /**
- * 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>' containment 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 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 + 7;
-
- /**
- * 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</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD_DECORATOR__ATTRIBUTES_EXPLICIT = FEATURE_DECORATOR__ATTRIBUTES_EXPLICIT;
- /**
- * The feature id for the '<em><b>Attributes</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD_DECORATOR__ATTRIBUTES = FEATURE_DECORATOR__ATTRIBUTES;
- /**
- * The feature id for the '<em><b>Parms Explicit</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD_DECORATOR__PARMS_EXPLICIT = FEATURE_DECORATOR_FEATURE_COUNT + 0;
- /**
- * The feature id for the '<em><b>Parameter Descriptors</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int METHOD_DECORATOR__PARAMETER_DESCRIPTORS = FEATURE_DECORATOR_FEATURE_COUNT + 1;
- /**
- * 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 + 2;
-
- /**
- * 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</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PARAMETER_DECORATOR__ATTRIBUTES_EXPLICIT = FEATURE_DECORATOR__ATTRIBUTES_EXPLICIT;
- /**
- * The feature id for the '<em><b>Attributes</b></em>' containment reference list.
- * <!-- 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</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PROPERTY_DECORATOR__ATTRIBUTES_EXPLICIT = FEATURE_DECORATOR__ATTRIBUTES_EXPLICIT;
- /**
- * The feature id for the '<em><b>Attributes</b></em>' containment reference list.
- * <!-- 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>Property Editor Class</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PROPERTY_DECORATOR__PROPERTY_EDITOR_CLASS = FEATURE_DECORATOR_FEATURE_COUNT + 5;
- /**
- * 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 + 6;
- /**
- * 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 + 7;
- /**
- * 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 + 8;
-
- /**
- * 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</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int INDEXED_PROPERTY_DECORATOR__ATTRIBUTES_EXPLICIT = PROPERTY_DECORATOR__ATTRIBUTES_EXPLICIT;
- /**
- * The feature id for the '<em><b>Attributes</b></em>' containment reference list.
- * <!-- 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>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>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;
-
-
- /**
- * 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 containment reference list '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#getAttributes <em>Attributes</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<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 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 containment 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 containment 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 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 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 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#isMergeSuperBehaviors <em>Merge Super Behaviors</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Merge Super Behaviors</em>'.
- * @see org.eclipse.jem.internal.beaninfo.BeanDecorator#isMergeSuperBehaviors()
- * @see #getBeanDecorator()
- * @generated
- */
- EAttribute getBeanDecorator_MergeSuperBehaviors();
-
- /**
- * 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#isIntrospectBehaviors <em>Introspect Behaviors</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Introspect Behaviors</em>'.
- * @see org.eclipse.jem.internal.beaninfo.BeanDecorator#isIntrospectBehaviors()
- * @see #getBeanDecorator()
- * @generated
- */
- EAttribute getBeanDecorator_IntrospectBehaviors();
-
- /**
- * 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#isParmsExplicit <em>Parms Explicit</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Parms Explicit</em>'.
- * @see org.eclipse.jem.internal.beaninfo.MethodDecorator#isParmsExplicit()
- * @see #getMethodDecorator()
- * @generated
- */
- EAttribute getMethodDecorator_ParmsExplicit();
-
- /**
- * Returns the meta object for the containment 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 containment 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 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 class '{@link org.eclipse.jem.internal.beaninfo.FeatureAttributeValue <em>Feature Attribute Value</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Feature Attribute Value</em>'.
- * @see org.eclipse.jem.internal.beaninfo.FeatureAttributeValue
- * @generated
- */
- EClass getFeatureAttributeValue();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jem.internal.beaninfo.FeatureAttributeValue#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.FeatureAttributeValue#getName()
- * @see #getFeatureAttributeValue()
- * @generated
- */
- EAttribute getFeatureAttributeValue_Name();
-
- /**
- * Returns the meta object for the containment reference '{@link org.eclipse.jem.internal.beaninfo.FeatureAttributeValue#getValue <em>Value</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference '<em>Value</em>'.
- * @see org.eclipse.jem.internal.beaninfo.FeatureAttributeValue#getValue()
- * @see #getFeatureAttributeValue()
- * @generated
- */
- EReference getFeatureAttributeValue_Value();
-
- /**
- * 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 '{@link org.eclipse.jem.internal.beaninfo.FeatureAttributeValue#getValueProxy <em>Value Proxy</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Value Proxy</em>'.
- * @see org.eclipse.jem.internal.beaninfo.FeatureAttributeValue#getValueProxy()
- * @see #getFeatureAttributeValue()
- * @generated
- */
- EAttribute getFeatureAttributeValue_ValueProxy();
-
- /**
- * 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 the attribute '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#isAttributesExplicit <em>Attributes Explicit</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Attributes Explicit</em>'.
- * @see org.eclipse.jem.internal.beaninfo.FeatureDecorator#isAttributesExplicit()
- * @see #getFeatureDecorator()
- * @generated
- */
- EAttribute getFeatureDecorator_AttributesExplicit();
-
- /**
- * 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 the attribute '{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#isListenerMethodsExplicit <em>Listener Methods Explicit</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Listener Methods Explicit</em>'.
- * @see org.eclipse.jem.internal.beaninfo.EventSetDecorator#isListenerMethodsExplicit()
- * @see #getEventSetDecorator()
- * @generated
- */
- EAttribute getEventSetDecorator_ListenerMethodsExplicit();
-
-}
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 3cd22d7e3..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/EventSetDecorator.java
+++ /dev/null
@@ -1,285 +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 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: EventSetDecorator.java,v $
- * $Revision: 1.2 $ $Date: 2004/01/13 16:17:00 $
- */
-
-
-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 -->
- *
- * <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#isListenerMethodsExplicit <em>Listener Methods Explicit</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>
- * </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>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>' containment 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 -->
- * @return the value of the '<em>Listener Methods</em>' containment reference list.
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getEventSetDecorator_ListenerMethods()
- * @model type="org.eclipse.jem.internal.beaninfo.MethodProxy" containment="true" required="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>Listener Methods Explicit</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Listener Methods Explicit</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * If the listenerMethods feature is explicitly set, ie. not through the event set descriptor proxy, then this flag must be set true. If it is true, then the listenerMethods will not be brought over from the descriptor proxy, nor will default ones be created if there aren't any specified.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Listener Methods Explicit</em>' attribute.
- * @see #setListenerMethodsExplicit(boolean)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getEventSetDecorator_ListenerMethodsExplicit()
- * @model
- * @generated
- */
- boolean isListenerMethodsExplicit();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.EventSetDecorator#isListenerMethodsExplicit <em>Listener Methods Explicit</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Listener Methods Explicit</em>' attribute.
- * @see #isListenerMethodsExplicit()
- * @generated
- */
- void setListenerMethodsExplicit(boolean 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 = "eventAdapterClass";
- */
- JavaClass getEventAdapterClass();
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/FeatureAttributeValue.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/FeatureAttributeValue.java
deleted file mode 100644
index b854748e2..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/FeatureAttributeValue.java
+++ /dev/null
@@ -1,146 +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 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: FeatureAttributeValue.java,v $
- * $Revision: 1.2 $ $Date: 2004/01/13 16:17:00 $
- */
-
-
-import org.eclipse.emf.ecore.EObject;
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Feature Attribute Value</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.beaninfo.FeatureAttributeValue#getName <em>Name</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.FeatureAttributeValue#getValue <em>Value</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.FeatureAttributeValue#getValueProxy <em>Value Proxy</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getFeatureAttributeValue()
- * @model
- * @generated
- */
-
-
-public interface FeatureAttributeValue 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.jem.internal.beaninfo.BeaninfoPackage#getFeatureAttributeValue_Name()
- * @model
- * @generated
- */
- String getName();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureAttributeValue#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>' containment reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Value</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>Value</em>' containment reference.
- * @see #setValue(EObject)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getFeatureAttributeValue_Value()
- * @model containment="true"
- * @generated
- */
- EObject getValue();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureAttributeValue#getValue <em>Value</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Value</em>' containment reference.
- * @see #getValue()
- * @generated
- */
- void setValue(EObject value);
-
- /**
- * Returns the value of the '<em><b>Value Proxy</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Value Proxy</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 Proxy</em>' attribute.
- * @see #isSetValueProxy()
- * @see #unsetValueProxy()
- * @see #setValueProxy(Object)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getFeatureAttributeValue_ValueProxy()
- * @model unsettable="true" transient="true"
- * @generated
- */
- Object getValueProxy();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureAttributeValue#getValueProxy <em>Value Proxy</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Value Proxy</em>' attribute.
- * @see #isSetValueProxy()
- * @see #unsetValueProxy()
- * @see #getValueProxy()
- * @generated
- */
- void setValueProxy(Object value);
-
- /**
- * Unsets the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureAttributeValue#getValueProxy <em>Value Proxy</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetValueProxy()
- * @see #getValueProxy()
- * @see #setValueProxy(Object)
- * @generated
- */
- void unsetValueProxy();
-
- /**
- * Returns whether the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureAttributeValue#getValueProxy <em>Value Proxy</em>}' attribute is set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return whether the value of the '<em>Value Proxy</em>' attribute is set.
- * @see #unsetValueProxy()
- * @see #getValueProxy()
- * @see #setValueProxy(Object)
- * @generated
- */
- boolean isSetValueProxy();
-
-}
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 9b5eac95b..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/FeatureDecorator.java
+++ /dev/null
@@ -1,498 +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 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: FeatureDecorator.java,v $
- * $Revision: 1.2 $ $Date: 2004/01/13 16:17:00 $
- */
-
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EAnnotation;
-
-import org.eclipse.jem.internal.proxy.core.IBeanProxy;
-
-/**
- * <!-- 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.
- * <!-- 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#isAttributesExplicit <em>Attributes Explicit</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{
- /**
- * Enumeration of what was implicitly created.
- */
- public static final int
- NOT_IMPLICIT = 0,
- IMPLICIT_DECORATOR = 1,
- IMPLICIT_DECORATOR_AND_FEATURE = 3;
- // Can't have explicit decorator but implicit feature.
-
-
- /**
- * Was this decorator implicitly created by introspection?
- * The default should be false.
- * This is here for linkage with the introspection process
- * and is not really a MOF property. The introspection needs
- * to know which features it created and which were explicitly
- * created by other means. Implicitly created ones may be
- * deleted at any time when the introspection determines it
- * needs to.
- */
- public int isImplicitlyCreated();
- public void setImplicitlyCreated(int implicit);
-
- /**
- * Answer whether this has introspection results merged into it.
- * This is important because if it doesn't have a proxy,
- * then this is an explicit decorator. Explicit decorators
- * will show up in the eAllAttribute/eAllBehaviors/eAllEvents
- * when beaninfo says don't do merge. This is because the
- * introspection only knows about beaninfo features and so
- * it can only specify that beaninfo features are not to
- * be inherited.
- */
- public boolean isIntrospected();
-
- /**
- * Return the descriptor proxy used gather implicit information
- * not explicitly set on the decorator. Each decorator
- * knows what to retrieve out of the proxy.
- */
- public IBeanProxy getDescriptorProxy();
-
- /**
- * Set the descriptor proxy to gather implicit information
- * not explicitly set on the decorator. Each decorator
- * knows what to retrieve out of the proxy. If the proxy
- * is null, then it there is no beaninfo to info from. When
- * this method is called, any cached values are cleared out.
- */
- public void setDescriptorProxy(IBeanProxy descriptor);
-
- /**
- * Set the decorator to use for querying reflected properties.
- * On reflection we need to return the results, but we don't
- * want to explicitly set anything that could override the
- * explicit settings by the user. So we pass in a decorator
- * that has the reflected settings. It act's like the descriptor proxy
- * above for when it comes from beaninfo's. Each decorator knows what
- * to retrieve from implicit decorator.
- */
- public void setDecoratorProxy(FeatureDecorator decorator);
-
- /**
- * 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.
- * <!-- 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</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jem.internal.beaninfo.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 -->
- * @return the value of the '<em>Attributes</em>' containment reference list.
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getFeatureDecorator_Attributes()
- * @model type="org.eclipse.jem.internal.beaninfo.FeatureAttributeValue" containment="true"
- * @generated
- */
- EList getAttributes();
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @model parameters=""
- * @generated
- */
- String getName();
-
- /**
- * Returns the value of the '<em><b>Attributes Explicit</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Attributes Explicit</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * The attributes are explicitly set and not retrieved from the beaninfo.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Attributes Explicit</em>' attribute.
- * @see #setAttributesExplicit(boolean)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getFeatureDecorator_AttributesExplicit()
- * @model
- * @generated
- */
- boolean isAttributesExplicit();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.FeatureDecorator#isAttributesExplicit <em>Attributes Explicit</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Attributes Explicit</em>' attribute.
- * @see #isAttributesExplicit()
- * @generated
- */
- void setAttributesExplicit(boolean value);
-
- /**
- * Answer if this decorator needs to be re-introspected. This would occur
- * because the BeanInfo is now invalid.
- * @return Re-introspection required.
- */
- boolean needIntrospection();
-
-
-}
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 00fc264b1..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/IndexedPropertyDecorator.java
+++ /dev/null
@@ -1,91 +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 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: IndexedPropertyDecorator.java,v $
- * $Revision: 1.2 $ $Date: 2004/01/13 16:17:00 $
- */
-
-
-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 -->
- *
- * <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 #setIndexedReadMethod(Method)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getIndexedPropertyDecorator_IndexedReadMethod()
- * @model
- * @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 #getIndexedReadMethod()
- * @generated
- */
- void setIndexedReadMethod(Method value);
-
- /**
- * 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 #setIndexedWriteMethod(Method)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getIndexedPropertyDecorator_IndexedWriteMethod()
- * @model
- * @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 #getIndexedWriteMethod()
- * @generated
- */
- void setIndexedWriteMethod(Method value);
-
-}
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 e256a10b6..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/MethodDecorator.java
+++ /dev/null
@@ -1,84 +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 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: MethodDecorator.java,v $
- * $Revision: 1.2 $ $Date: 2004/01/13 16:17:00 $
- */
-
-
-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 -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.beaninfo.MethodDecorator#isParmsExplicit <em>Parms Explicit</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.MethodDecorator#getParameterDescriptors <em>Parameter Descriptors</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</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Parms Explicit</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * If the parameterDescriptors feature is explicitly set, ie. not through the method descriptor proxy, then this flag must be set true. If it is true, then the parameterDescriptors will not be brought over from the descriptor proxy, nor will default ones be created if there aren't any specified.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Parms Explicit</em>' attribute.
- * @see #setParmsExplicit(boolean)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getMethodDecorator_ParmsExplicit()
- * @model
- * @generated
- */
- boolean isParmsExplicit();
-
- /**
- * Sets the value of the '{@link org.eclipse.jem.internal.beaninfo.MethodDecorator#isParmsExplicit <em>Parms Explicit</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Parms Explicit</em>' attribute.
- * @see #isParmsExplicit()
- * @generated
- */
- void setParmsExplicit(boolean value);
-
- /**
- * Returns the value of the '<em><b>Parameter Descriptors</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>Parameter Descriptors</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>Parameter Descriptors</em>' containment reference list.
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getMethodDecorator_ParameterDescriptors()
- * @model type="org.eclipse.jem.internal.beaninfo.ParameterDecorator" containment="true"
- * @generated
- */
- EList getParameterDescriptors();
-
-}
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 3770883bb..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/MethodProxy.java
+++ /dev/null
@@ -1,71 +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 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: MethodProxy.java,v $
- * $Revision: 1.2 $ $Date: 2004/01/13 16:17:00 $
- */
-
-
-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.
- * <!-- 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 ac5752f20..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/ParameterDecorator.java
+++ /dev/null
@@ -1,97 +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 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: ParameterDecorator.java,v $
- * $Revision: 1.2 $ $Date: 2004/01/13 16:17:00 $
- */
-
-
-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 682ba18ee..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/PropertyDecorator.java
+++ /dev/null
@@ -1,346 +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 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: PropertyDecorator.java,v $
- * $Revision: 1.2 $ $Date: 2004/01/13 16:17:00 $
- */
-
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClassifier;
-
-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 -->
- *
- * <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#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>
- * </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>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 #setReadMethod(Method)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getPropertyDecorator_ReadMethod()
- * @model
- * @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 #getReadMethod()
- * @generated
- */
- void setReadMethod(Method value);
-
- /**
- * 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 #setWriteMethod(Method)
- * @see org.eclipse.jem.internal.beaninfo.BeaninfoPackage#getPropertyDecorator_WriteMethod()
- * @model
- * @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 #getWriteMethod()
- * @generated
- */
- void setWriteMethod(Method value);
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @model parameters=""
- * @generated
- */
- EClassifier getPropertyType();
-
-}
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 4da967ef8..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoAdapterFactory.java
+++ /dev/null
@@ -1,218 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.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 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: BeaninfoAdapterFactory.java,v $
- * $Revision: 1.1 $ $Date: 2003/10/27 17:17:59 $
- */
-import java.lang.ref.ReferenceQueue;
-import java.lang.ref.WeakReference;
-import java.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.jem.internal.java.beaninfo.IIntrospectionAdapter;
-import org.eclipse.jem.internal.proxy.core.ProxyFactoryRegistry;
-/**
- * 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 new BeaninfoClassAdapter(this);
- } 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();
- }
-
- /**
- * 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.
- }
- }
- }
- }
-
- /**
- * 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));
- }
- }
-
- /**
- * Unregister the introspection and remove the adapter and clear out any introspection it may of done.
- * @param sourceName Fully qualified source name, use type for reflection, i.e. "a.b.c.Class1$InnerClass"
- */
- public void unregisterIntrospection(String sourceName) {
- processQueue();
- synchronized (this) {
- WeakValue ref = (WeakValue) fIntrospected.remove(sourceName);
- if (ref != null) {
- BeaninfoClassAdapter a = (BeaninfoClassAdapter) ref.get();
- a.clearIntrospection();
- a.getTarget().eAdapters().remove(a);
- }
- }
- }
-
- /**
- * Unregister this class and all inner classes (denoted by having same name plus '$' plus stuff)
- * @param sourceName Fully qualified source name, use type for reflection, i.e. "a.b.c.Class1$InnerClass"
- */
- public void unregisterIntrospectionPlusInner(String sourceName) {
- 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();
- itr.remove(); // Since I removed it BEFORE sending removeAdapter, I won't get a concurrentmodification exception from removeAdapter also removing it, since it won't be there then.
- BeaninfoClassAdapter a = (BeaninfoClassAdapter) ref.get();
- a.clearIntrospection();
- a.getTarget().eAdapters().remove(a);
- }
- }
- }
- }
-
- /**
- * 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());
- }
- }
-} \ No newline at end of file
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 42df09b67..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoClassAdapter.java
+++ /dev/null
@@ -1,1987 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.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 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: BeaninfoClassAdapter.java,v $
- * $Revision: 1.3 $ $Date: 2004/01/13 21:11:59 $
- */
-
-import java.io.FileNotFoundException;
-import java.lang.ref.WeakReference;
-import java.text.MessageFormat;
-import java.util.*;
-
-import org.eclipse.core.resources.IResourceStatus;
-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.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.proxy.core.*;
-
-import com.ibm.etools.emf.event.EventFactory;
-import com.ibm.etools.emf.event.EventUtil;
-import org.eclipse.jem.java.*;
-import org.eclipse.jem.internal.java.beaninfo.IIntrospectionAdapter;
-import org.eclipse.jem.java.impl.JavaClassImpl;
-
-/**
- * Beaninfo adapter for doing introspection on a Java Model class.
- */
-
-public class BeaninfoClassAdapter extends AdapterImpl implements IIntrospectionAdapter {
-
- /**
- * 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() {
- if (beaninfo != null) {
- beaninfo = null;
- }
- if (hasIntrospected) {
- // Clear out the beandecorator if implicitly created.
- Iterator beanItr = getJavaClass().getEAnnotations().iterator();
- while (beanItr.hasNext()) {
- EAnnotation dec = (EAnnotation) beanItr.next();
- if (dec instanceof BeanDecorator) {
- BeanDecorator decor = (BeanDecorator) dec;
- decor.setDescriptorProxy(null);
- decor.setDecoratorProxy(null);
- if (decor.isImplicitlyCreated() == BeanDecorator.IMPLICIT_DECORATOR) {
- beanItr.remove();
- ((InternalEObject) decor).eSetProxyURI(BAD_URI); // Mark it as bad proxy so we know it is no longer any use.
- break;
- }
- }
- }
- }
-
- if (hasIntrospectedProperties) {
- // Clear out the features that we implicitly created.
- Iterator propItr = getJavaClass().getEStructuralFeaturesGen().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;
- pd.setDescriptorProxy(null);
- pd.setDecoratorProxy(null);
- if (pd.isImplicitlyCreated() != PropertyDecorator.NOT_IMPLICIT) {
- 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.isImplicitlyCreated() == PropertyDecorator.IMPLICIT_DECORATOR_AND_FEATURE) {
- 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;
- }
- }
- }
-
- hasIntrospectedProperties = false;
- }
-
- if (hasIntrospectedOperations) {
- // Clear out the operations that we implicitly created.
- Iterator operItr = getJavaClass().getEOperationsGen().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;
- md.setDescriptorProxy(null);
- md.setDecoratorProxy(null);
- if (md.isImplicitlyCreated() != MethodDecorator.NOT_IMPLICIT) {
- 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.isImplicitlyCreated() == MethodDecorator.IMPLICIT_DECORATOR_AND_FEATURE) {
- 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;
- }
- }
- }
-
- hasIntrospectedOperations = false;
- }
-
- if (hasIntrospectedEvents) {
- // Clear out the eventsthat 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;
- ed.setDescriptorProxy(null);
- ed.setDecoratorProxy(null);
- if (ed.isImplicitlyCreated() != EventSetDecorator.NOT_IMPLICIT) {
- 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.isImplicitlyCreated() == EventSetDecorator.IMPLICIT_DECORATOR_AND_FEATURE) {
- 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;
- }
- }
- }
-
- hasIntrospectedEvents = false;
- }
- }
-
- private void clearAll() {
- if (beaninfo != null) {
- beaninfo = null;
- }
- // Clear out the annotations.
- getJavaClass().getEAnnotations().clear();
- // Clear out the attributes.
- getJavaClass().getEStructuralFeaturesGen().clear();
- // Clear out the operations.
- getJavaClass().getEOperationsGen().clear();
- // Clear out the events.
- getJavaClass().getEventsGen().clear();
- }
-
-
- /**
- * @version 1.0
- * @author
- */
-
- protected static final URI BAD_URI = URI.createURI("baduri"); //$NON-NLS-1$
- // A URI that will never resolve. Used to mark an object as no longer valid.
- protected boolean hasIntrospected;
- protected boolean isIntrospecting;
-
- protected boolean hasIntrospectedProperties;
- protected boolean isIntrospectingProperties;
-
- protected boolean isDoingAllProperties;
-
- protected boolean hasIntrospectedOperations;
- protected boolean isIntrospectingOperations;
-
- protected boolean isDoingAllOperations;
-
- protected boolean hasIntrospectedEvents;
- protected boolean isIntrospectingEvents;
-
- 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 IBeanProxy beaninfo;
- 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 = (List) getJavaClass().getEStructuralFeaturesGen();
- 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 = (List) getJavaClass().getEStructuralFeaturesGen();
- 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 = (List) getJavaClass().getEOperationsGen();
- 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().getEOperationsGen();
- 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 = (List) 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() {
- if (!hasIntrospected && !isIntrospecting) {
- try {
- introspect();
- } catch (Throwable e) {
- hasIntrospected = false;
- BeaninfoPlugin.getPlugin().getMsgLogger().log(
- new Status(
- IStatus.WARNING,
- BeaninfoPlugin.getPlugin().getDescriptor().getUniqueIdentifier(),
- 0,
- MessageFormat.format(
- BeaninfoPlugin.getPlugin().getDescriptor().getResourceString(BeaninfoProperties.INTROSPECTFAILED),
- new Object[] { getJavaClass().getJavaName()}),
- e));
- }
- }
- }
-
- public void introspect() {
- isIntrospecting = true;
- 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.
- 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.
- hasIntrospected = hasIntrospectedOperations = hasIntrospectedProperties = hasIntrospectedEvents = true;
- } else {
- 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. (Particually the root stuff).
- clearAll();
- }
- if (retrievedExtensionDocument != RETRIEVED_FULL_DOCUMENT)
- applyExtensionDocument(false); // Apply the extension doc before we do anything.
- BeanDecorator decor = Utilities.getBeanDecorator(getJavaClass());
- if (decor == null || decor.isDoBeaninfo()) {
- 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)});
- } catch (ThrowableProxy e) {
- BeaninfoPlugin.getPlugin().getMsgLogger().log(
- new Status(
- IStatus.WARNING,
- BeaninfoPlugin.getPlugin().getDescriptor().getUniqueIdentifier(),
- 0,
- MessageFormat.format(
- BeaninfoPlugin.getPlugin().getDescriptor().getResourceString(
- BeaninfoProperties.INTROSPECTFAILED),
- new Object[] { getJavaClass().getJavaName()}),
- e));
- }
- } else {
- // The class itself couldn't be initialized. Just log it, but treat as no proxy.
- BeaninfoPlugin.getPlugin().getMsgLogger().log(
- new Status(
- IStatus.WARNING,
- BeaninfoPlugin.getPlugin().getDescriptor().getUniqueIdentifier(),
- 0,
- MessageFormat.format(
- BeaninfoPlugin.getPlugin().getDescriptor().getResourceString(
- BeaninfoProperties.INTROSPECTFAILED),
- new Object[] { getJavaClass().getJavaName()}),
- new ExceptionInInitializerError(targetType.getInitializationError())));
- }
- } else {
- // The class itself could not be found. Just log it, but treat as no proxy.
- BeaninfoPlugin.getPlugin().getMsgLogger().log(
- new Status(
- IStatus.WARNING,
- BeaninfoPlugin.getPlugin().getDescriptor().getUniqueIdentifier(),
- 0,
- MessageFormat.format(
- BeaninfoPlugin.getPlugin().getDescriptor().getResourceString(BeaninfoProperties.INTROSPECTFAILED),
- new Object[] { getJavaClass().getJavaName()}),
- null));
- }
- }
- calculateBeanDescriptor(decor);
- hasIntrospected = true;
- }
- getAdapterFactory().registerIntrospection(getJavaClass().getQualifiedNameForReflection(), this);
- }
- } finally {
- isIntrospecting = false;
- }
- }
-
- private static final String OVERRIDE_EXTENSION = ".override"; //$NON-NLS-1$
- private static final String ROOT = "..ROOT.."; //$NON-NLS-1$
- private static final String ROOT_OVERRIDE = "..ROOT.."+OVERRIDE_EXTENSION; //$NON-NLS-1$
-
- protected void applyExtensionDocument(boolean rootOnly) {
- 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();
- if (!alreadyRetrievedRoot && (rootOnly || jc.getSupertype() == null)) {
- // It is a root class. Need to merge in root stuff.
- BeaninfoPlugin.OverridePathSearch searcher =
- BeaninfoPlugin.getPlugin().getOverrideSearch(ROOT);
- applyExtensionDocTo(rset, jc, ROOT_OVERRIDE, searcher);
- if (rootOnly)
- return;
- }
-
- String baseOverridefile = getJavaClass().getName() + OVERRIDE_EXTENSION; // getName() returns inner classes with "$" notation, which is good. //$NON-NLS-1$
- BeaninfoPlugin.OverridePathSearch searcher =
- BeaninfoPlugin.getPlugin().getOverrideSearch(getJavaClass().getJavaPackage().getPackageName());
- applyExtensionDocTo(rset, jc, baseOverridefile, searcher);
- }
-
- protected void applyExtensionDocTo(ResourceSet rset, EObject mergeIntoEObject, String baseOverridefile, BeaninfoPlugin.OverridePathSearch searcher) {
- for (String[] paths = searcher.getNextPath(); paths != null; paths = searcher.getNextPath()) {
- String overridepath = searcher.getUnmatchedPath();
- String overridefile = baseOverridefile;
- if (overridepath.length() > 0)
- overridefile = overridepath + '/' + overridefile;
- for (int i = 0; i < paths.length; i++) {
- String filename = paths[i] + overridefile;
- Resource overrideRes = null;
- URI uri = URI.createURI(filename);
- try {
- overrideRes = rset.getResource(uri, true);
-
- EventUtil util = EventFactory.eINSTANCE.createEventUtil(mergeIntoEObject, rset);
- util.doForwardEvents(overrideRes.getContents());
- } 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().getMsgLogger().log(new Status(IStatus.WARNING, BeaninfoPlugin.PI_BEANINFO, 0, "Error loading file\"" + filename + "\"", e.exception())); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
- overrideRes = rset.getResource(uri, false);
- // In case it happened after creating resource but during load.
- } catch (Exception e) {
- // Couldn't load it for some reason.
- BeaninfoPlugin.getPlugin().getMsgLogger().log(new Status(IStatus.WARNING, BeaninfoPlugin.PI_BEANINFO, 0, "Error loading file\"" + filename + "\"", e)); //$NON-NLS-1$ //$NON-NLS-2$
- overrideRes = rset.getResource(uri, false); // In case it happened after creating resource but during load.
-
- } finally {
- if (overrideRes != null)
- rset.getResources().remove(overrideRes); // We don't need it around once we do the merge.
- }
- }
- }
- }
-
- /**
- * 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() {
- introspectProperties();
- return getJavaClass().getEStructuralFeaturesGen();
- }
-
- /**
- * @see org.eclipse.jem.java.beaninfo.IIntrospectionAdapter#getAllProperties()
- */
- public EList getAllProperties() {
- return allProperties();
- }
-
- /**
- * @see org.eclipse.jem.java.beaninfo.IIntrospectionAdapter#getEOperations()
- */
- public EList getEOperations() {
- return introspectOperations();
- }
-
- /**
- * @see org.eclipse.jem.java.beaninfo.IIntrospectionAdapter#getEAllOperations()
- */
- public BasicEList getEAllOperations() {
- return allOperations();
- }
-
- /**
- * @see org.eclipse.jem.java.beaninfo.IIntrospectionAdapter#getEvents()
- */
- public EList getEvents() {
- return introspectEvents();
- }
-
- /**
- * @see org.eclipse.jem.java.beaninfo.IIntrospectionAdapter#getAllEvents()
- */
- public EList getAllEvents() {
- return allEvents();
- }
-
- /**
- * Fill in the BeanDescriptorDecorator.
- */
- protected void calculateBeanDescriptor(BeanDecorator decor) {
- // If there already is one, then we
- // will use it. This allows merging with beanfinfo.
- // If this was an implicit one left over from a previous introspection before going stale,
- // this is OK because we always want a bean decorator from introspection. We will reuse it.
-
- if (decor == null) {
- decor = BeaninfoFactory.eINSTANCE.createBeanDecorator();
- decor.setImplicitlyCreated(BeanDecorator.IMPLICIT_DECORATOR);
- getJavaClass().getEAnnotations().add(decor);
- }
-
- if (beaninfo != null && decor.isMergeIntrospection()) {
- decor.setDescriptorProxy(getProxyConstants().getBeanDescriptorProxy().invokeCatchThrowableExceptions(beaninfo));
- decor.setMergeSuperPropertiesProxy(
- ((IBooleanBeanProxy) getProxyConstants().getIsMergeInheritedPropertiesProxy().invokeCatchThrowableExceptions(beaninfo))
- .getBooleanValue());
- decor.setMergeSuperBehaviorsProxy(
- ((IBooleanBeanProxy) getProxyConstants().getIsMergeInheritedMethodsProxy().invokeCatchThrowableExceptions(beaninfo))
- .getBooleanValue());
- decor.setMergeSuperEventsProxy(
- ((IBooleanBeanProxy) getProxyConstants().getIsMergeInheritedEventsProxy().invokeCatchThrowableExceptions(beaninfo))
- .getBooleanValue());
- } else {
- decor.setDescriptorProxy(null);
- decor.setMergeSuperEventsProxy(null);
- decor.setMergeSuperPropertiesProxy(null);
- decor.setMergeSuperBehaviorsProxy(null);
- }
- decor.setDecoratorProxy(null);
- }
-
- /**
- * introspect the Properties
- */
- protected void introspectProperties() {
- introspectIfNecessary();
- if (!isIntrospecting && !isIntrospectingProperties && !hasIntrospectedProperties) {
- isIntrospectingProperties = true;
- try {
- if (isResourceConnected()) {
- BeanDecorator bd = Utilities.getBeanDecorator(getJavaClass());
- if (bd == null || bd.isIntrospectProperties()) {
- // bd wants properties to be introspected/reflected
- if (beaninfo != null) {
- IArrayBeanProxy props =
- (IArrayBeanProxy) getProxyConstants().getPropertyDescriptorsProxy().invokeCatchThrowableExceptions(
- beaninfo);
- if (props != null) {
- int propSize = props.getLength();
- for (int i = 0; i < propSize; i++)
- calculateProperty(props.getCatchThrowableException(i));
- }
- } else
- reflectProperties(); // No beaninfo, so use reflection to create properties
- }
-
- // Now go through the list and remove those that should be removed.
- 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) {
- int implicit = p.isImplicitlyCreated();
- if (implicit != PropertyDecorator.NOT_IMPLICIT) {
- 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 == PropertyDecorator.IMPLICIT_DECORATOR_AND_FEATURE) {
- 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.
- }
- }
- }
- }
- }
- hasIntrospectedProperties = true;
- } finally {
- isIntrospectingProperties = false;
- propertiesMap = null; // Get rid of accumulated map.
- featuresRealList = null; // Release the real list.
- }
- }
- }
-
- /**
- * 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 allProperties = new UniqueEList() {
- protected Object[] newData(int capacity) {
- return new EStructuralFeature[capacity];
- }
-
- protected boolean useEquals() {
- return false;
- }
-
- };
- if (!isIntrospecting && !isDoingAllProperties && isResourceConnected()) {
- isDoingAllProperties = true;
- try {
- EList localProperties = getJavaClass().getProperties();
- JavaClass superType = getJavaClass().getSupertype();
- if (superType != null) {
- // Now we need to merge in the supers.
- BeanDecorator bd = Utilities.getBeanDecorator(getJavaClass());
- List supers = superType.getAllProperties();
-
- // 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 len = supers.size();
- for (int i = 0; i < len; i++) {
- EStructuralFeature p = (EStructuralFeature) supers.get(i);
- PropertyDecorator pd = Utilities.getPropertyDecorator(p);
- if ( pd == null || (pd.isImplicitlyCreated() == FeatureDecorator.NOT_IMPLICIT && !pd.isMergeIntrospection()))
- allProperties.add(p);
- }
- } else {
- // We want to merge all.
- if (beaninfo != null) {
- // BeanInfo has given us the merge list. If the list is empty, then we accept all.
- IArrayBeanProxy superNames = (IArrayBeanProxy) getProxyConstants().getInheritedPropertyDescriptorsProxy().invokeCatchThrowableExceptions(beaninfo);
- if (superNames != null) {
- // We were given a list of names.
- // Get the names into a set to create a quick lookup.
- int l = superNames.getLength();
- HashSet superSet = new HashSet(l);
- for (int i = 0; i < l; i++) {
- superSet.add(((IStringBeanProxy) superNames.getCatchThrowableException(i)).stringValue());
- }
-
- // 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 those specifically called out by BeanInfo.
- int len = supers.size();
- for (int i = 0; i < len; i++) {
- EStructuralFeature p = (EStructuralFeature) supers.get(i);
- PropertyDecorator pd = Utilities.getPropertyDecorator(p);
- if (pd == null || (pd.isImplicitlyCreated() == FeatureDecorator.NOT_IMPLICIT && !pd.isMergeIntrospection()) || superSet.contains(pd.getName()))
- allProperties.add(p);
- }
- } else {
- // BeanInfo called out that all super properties are good
- allProperties.addAll(supers);
- }
- } else {
- // We don't have a BeanInfo telling us how to merge. This means we're reflecting and have prevented
- // dups. So we accept all supers.
- allProperties.addAll(supers);
- }
- }
- }
- allProperties.addAll(localProperties);
- superAdapter.setAllPropertiesCollectionModified(false); // Now built, so reset to not changed.
- } finally {
- isDoingAllProperties = false;
- }
- }
-
- allProperties.shrink();
- return new EcoreEList.UnmodifiableEList(
- getJavaClass(),
- null,
- allProperties.size(),
- allProperties.data());
- }
-
- /**
- * Fill in the property and its decorator using the propDesc.
- */
- protected void calculateProperty(IBeanProxy propDesc) {
- // See if this is an indexed property. If it is, then a few fields will not be set in here, but
- // will instead be set by the calculateIndexedProperty, which will be called.
- boolean indexed = propDesc.getProxyFactoryRegistry().getBeanTypeProxyFactory().getBeanTypeProxy("java.beans.IndexedPropertyDescriptor").equals(propDesc.getTypeProxy()); //$NON-NLS-1$
- String name = ((IStringBeanProxy) getProxyConstants().getNameProxy().invokeCatchThrowableExceptions(propDesc)).stringValue();
- boolean changeable;
- EClassifier type = null;
-
- changeable = getProxyConstants().getWriteMethodProxy().invokeCatchThrowableExceptions(propDesc) != null;
- IBeanTypeProxy typeProxy = (IBeanTypeProxy) getProxyConstants().getPropertyTypeProxy().invokeCatchThrowableExceptions(propDesc);
- if (typeProxy != null)
- type = Utilities.getJavaClass(typeProxy, getJavaClass().eResource().getResourceSet());
-
- 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 = getProxyConstants().getIndexedWriteMethodProxy().invokeCatchThrowableExceptions(propDesc) != null;
- if (typeProxy == null) {
- // If no array type proxy from above, create one from the indexed type proxy.
- typeProxy = (IBeanTypeProxy) getProxyConstants().getIndexedPropertyTypeProxy().invokeCatchThrowableExceptions(propDesc);
- if (typeProxy != null) {
- typeProxy = typeProxy.getProxyFactoryRegistry().getBeanTypeProxyFactory().getBeanTypeProxy(typeProxy.getTypeName(), 1);
- type = Utilities.getJavaClass(typeProxy, getJavaClass().eResource().getResourceSet());
- }
- }
- }
-
- if (type != null)
- createProperty(name, indexed, changeable, type, propDesc); // A valid property descriptor.
- }
-
- /**
- * Fill in the property and its decorator using the passed in information.
- */
- public PropertyDecorator createProperty(String name, boolean indexed, boolean changeable, EClassifier type, IBeanProxy propDesc) {
- // 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.
- if (pd != null && pd.isImplicitlyCreated() == FeatureDecorator.NOT_IMPLICIT) {
- // We can't change the type for explicit.
- indexed = pd instanceof IndexedPropertyDecorator;
- } else if (
- pd != null
- && pd.isImplicitlyCreated() != FeatureDecorator.NOT_IMPLICIT
- && ((indexed && !(pd instanceof IndexedPropertyDecorator)) || (!indexed && pd instanceof IndexedPropertyDecorator))) {
- prop.getEAnnotations().remove(pd);
- pd = null;
- }
-
- int implicit = pd == null ? FeatureDecorator.IMPLICIT_DECORATOR : pd.isImplicitlyCreated();
- 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 = FeatureDecorator.IMPLICIT_DECORATOR_AND_FEATURE;
- }
-
- // 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);
- 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 == FeatureDecorator.IMPLICIT_DECORATOR_AND_FEATURE) {
- 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.setImplicitlyCreated(implicit);
- prop.getEAnnotations().add(pd);
- }
- pd.setDescriptorProxy(propDesc);
- pd.setDecoratorProxy(null);
- return pd;
- }
-
- /**
- * Reflect the properties. This requires going through local methods and matching them up to
- * see if they are properties.
- */
- protected 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.
- HashMap supers = new HashMap(50);
- BeanDecorator bd = Utilities.getBeanDecorator(getJavaClass());
- if (bd.isMergeSuperProperties()) {
- JavaClass superType = getJavaClass().getSupertype();
- if (superType != null) {
- Iterator superAllItr = superType.getAllProperties().iterator();
- while (superAllItr.hasNext()) {
- EStructuralFeature sf = (EStructuralFeature) superAllItr.next();
- supers.put(sf.getName(), sf);
- }
- // Kludge: The above requests for super properties could of caused a recycle (in case the super
- // was stale). Because of this we need to reintrospect to mark ourselves as not stale.
- introspectIfNecessary();
- }
- }
-
- // 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();
- ListIterator sprs = superTypes.listIterator(superTypes.size());
- // Start from end because that will be first class above the this one.
- while (sprs.hasPrevious() && !isBound) {
- JavaClass spr = (JavaClass) sprs.previous();
- BeaninfoClassAdapter bi = (BeaninfoClassAdapter) EcoreUtil.getExistingAdapter(spr, IIntrospectionAdapter.ADAPTER_KEY);
- 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));
- 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));
- 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));
- 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();
- EStructuralFeature sf = (EStructuralFeature) supers.get(entry.getKey());
- // Create it if the sf is not a super.
- if (sf == null)
- ((PropertyInfo) entry.getValue()).createProperty((String) entry.getKey(), isBound);
- }
- }
-
- 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 = (List) 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 = (List) 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,
- null);
- if (prop == null)
- return; // Reflection not wanted.
-
- indexed = prop instanceof IndexedPropertyDecorator; // It could of been forced back to not indexed if explicitly set.
-
- // Now fill in the property decorator info. If our decorator was not implicit, then we need
- // to use a proxy so that the use can override specific settings while we supply the defaults.
- // If our decorator was implicitly created, then we know that there are no user data and we
- // can use our decorator directly.
- if (prop.isImplicitlyCreated() == FeatureDecorator.NOT_IMPLICIT) {
- PropertyDecorator propProxy =
- indexed
- ? BeaninfoFactory.eINSTANCE.createIndexedPropertyDecorator()
- : BeaninfoFactory.eINSTANCE.createPropertyDecorator();
- // Create a proxy.
- prop.setDecoratorProxy(propProxy);
- prop = propProxy;
- }
-
- prop.setBound(isBound);
- prop.setConstrained(constrained);
- if (getter != null)
- prop.setReadMethod(getter);
- else
- prop.eUnset(BeaninfoPackage.eINSTANCE.getPropertyDecorator_ReadMethod());
- if (setter != null)
- prop.setWriteMethod(setter);
- else
- prop.eUnset(BeaninfoPackage.eINSTANCE.getPropertyDecorator_WriteMethod());
- if (indexed) {
- IndexedPropertyDecorator iprop = (IndexedPropertyDecorator) prop;
- if (indexedGetter != null)
- iprop.setIndexedReadMethod(indexedGetter);
- else
- iprop.eUnset(BeaninfoPackage.eINSTANCE.getIndexedPropertyDecorator_IndexedReadMethod());
- if (indexedSetter != null)
- iprop.setIndexedWriteMethod(indexedSetter);
- else
- iprop.eUnset(BeaninfoPackage.eINSTANCE.getIndexedPropertyDecorator_IndexedReadMethod());
- }
-
- }
- };
-
- /**
- * introspect the behaviors (methods)
- */
- protected EList introspectOperations() {
- introspectIfNecessary();
- if (!isIntrospecting && !isIntrospectingOperations && !hasIntrospectedOperations) {
- isIntrospectingOperations = true;
- try {
- if (isResourceConnected()) {
- newoperations = new HashSet(50);
- BeanDecorator bd = Utilities.getBeanDecorator(getJavaClass());
- if (bd == null || bd.isIntrospectBehaviors()) {
- // bd wants behaviors to be introspected/reflected
- if (beaninfo != null) {
- IArrayBeanProxy mthds =
- (IArrayBeanProxy) getProxyConstants().getMethodDescriptorsProxy().invokeCatchThrowableExceptions(beaninfo);
- if (mthds != null) {
- int mthdSize = mthds.getLength();
- for (int i = 0; i < mthdSize; i++)
- calculateOperation(mthds.getCatchThrowableException(i));
- }
- } else
- reflectOperations(); // No beaninfo, so use reflection to create behaviors
- }
-
- // 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) {
- int implicit = m.isImplicitlyCreated();
- if (implicit != MethodDecorator.NOT_IMPLICIT) {
- m.setEModelElement(null); // Remove it because it was implicit.
- ((InternalEObject) m).eSetProxyURI(BAD_URI);
- m = null;
- }
- if (implicit == MethodDecorator.IMPLICIT_DECORATOR_AND_FEATURE) {
- itr.remove(); // The feature was implicit too.
- ((InternalEObject) a).eSetProxyURI(BAD_URI);
- a = null;
- }
- }
- }
- }
- hasIntrospectedOperations = true;
- }
- } finally {
- isIntrospectingOperations = false;
- operationsMap = null; // Clear out the temp lists.
- operationsRealList = null;
- newoperations = null;
-
- }
- }
- return getJavaClass().getEOperationsGen();
- }
-
- /**
- * Fill in the behavior and its decorator using the mthdDesc.
- */
- protected void calculateOperation(IBeanProxy operDesc) {
- String name = ((IStringBeanProxy) getProxyConstants().getNameProxy().invokeCatchThrowableExceptions(operDesc)).stringValue();
- createOperation(name, formLongName(name, operDesc), null, operDesc);
- }
-
- /**
- * Fill in the behavior and its decorator using the passed in information.
- */
- public MethodDecorator createOperation(String name, String longName, Method method, IBeanProxy mthdDesc) {
- // 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.
- method = JavaRefFactory.eINSTANCE.createMethod();
- URI uri = Utilities.getMethodURI((IMethodProxy) getProxyConstants().getMethodProxy().invokeCatchThrowableExceptions(mthdDesc));
- ((InternalEObject) method).eSetProxyURI(uri);
- }
-
- int implicit = md == null ? FeatureDecorator.IMPLICIT_DECORATOR : FeatureDecorator.NOT_IMPLICIT;
- if (oper == null) {
- // We will create a new MethodProxy.
- oper = BeaninfoFactory.eINSTANCE.createMethodProxy();
- getOperationsList().add(oper);
- implicit = FeatureDecorator.IMPLICIT_DECORATOR_AND_FEATURE;
- }
- if (name == null)
- name = method.getName();
-
- // Now fill it in.
- if (oper instanceof MethodProxy)
- ((MethodProxy) oper).setMethod(method);
- ((XMIResource) oper.eResource()).setID(oper, getJavaClass().getName() + BeaninfoJavaReflectionKeyExtension.BEHAVIOR + name);
- 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.setImplicitlyCreated(implicit);
- oper.getEAnnotations().add(md);
- }
- md.setDescriptorProxy(mthdDesc);
- md.setDecoratorProxy(null);
- return md;
- }
-
- /**
- * Reflect the behaviors. This requires going through local public methods and creating a
- * method proxy for it.
- */
- protected 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.
- HashMap supers = new HashMap(50);
- BeanDecorator bd = Utilities.getBeanDecorator(getJavaClass());
- if (bd.isMergeSuperBehaviors()) {
- EClass superType = getJavaClass().getSupertype();
- if (superType != null) {
- Iterator superAllItr = superType.getEAllOperations().iterator();
- while (superAllItr.hasNext()) {
- EOperation op = (EOperation) superAllItr.next();
- supers.put(formLongName(op), op);
- }
- // Kludge: The above requests for super properties could of caused a recycle (in case the super
- // was stale). Because of this we need to reintrospect to mark ourselves as not stale.
- introspectIfNecessary();
- }
- }
-
- 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);
- if (supers.get(longName) != null)
- continue; // Already exists in supers, don't override.
-
- 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() {
- UniqueEList allOperations = new UniqueEList() {
- protected Object[] newData(int capacity) {
- return new EOperation[capacity];
- }
-
- protected boolean useEquals() {
- return false;
- }
- };
- if (!isIntrospecting && !isDoingAllOperations && isResourceConnected()) {
- isDoingAllOperations = true;
- try {
- EList localOperations = getJavaClass().getEOperations();
- JavaClass superType = getJavaClass().getSupertype();
- if (superType != null) {
- // Now we need to merge in the supers.
- BeanDecorator bd = Utilities.getBeanDecorator(getJavaClass());
- List supers = superType.getEAllOperations();
-
- // We will now merge as directed.
- boolean mergeAll = bd == null || bd.isMergeSuperBehaviors();
- if (!mergeAll) {
- // we don't to want to merge super properties, but we still need super non-properties.
- int len = supers.size();
- for (int i = 0; i < len; i++) {
- EOperation o = (EOperation) supers.get(i);
- MethodDecorator md = Utilities.getMethodDecorator(o);
- if (md == null || (md.isImplicitlyCreated() == FeatureDecorator.NOT_IMPLICIT && !md.isMergeIntrospection()))
- allOperations.add(o);
- }
- } else {
- // We want to merge all.
- if (beaninfo != null) {
- // BeanInfo has given us the merge list. If the list is empty, then we accept all.
- IArrayBeanProxy superNames = (IArrayBeanProxy) getProxyConstants().getInheritedMethodDescriptorsProxy().invokeCatchThrowableExceptions(beaninfo);
- if (superNames != null) {
- // We were given a list of names.
- // Get the names into a set to create a quick lookup.
- int l = superNames.getLength();
- HashSet superSet = new HashSet(l);
- for (int i = 0; i < l; i++) {
- superSet.add(((IStringBeanProxy) superNames.getCatchThrowableException(i)).stringValue());
- }
-
- // Now walk and add in non-bean properties (and bean operations that were explicitly added and not mergeable (i.e. didn't come thru beaninfo))
- // and those specifically called out by BeanInfo.
- int len = supers.size();
- for (int i = 0; i < len; i++) {
- EOperation o = (EOperation) supers.get(i);
- MethodDecorator md = Utilities.getMethodDecorator(o);
- if (md == null || (md.isImplicitlyCreated() == FeatureDecorator.NOT_IMPLICIT && !md.isMergeIntrospection()))
- allOperations.add(o);
- else {
- String longName = formLongName(o);
- if (longName == null || superSet.contains(longName))
- allOperations.add(o);
- }
- }
- } else {
- // BeanInfo called out that all super properties
- allOperations.addAll(supers);
- }
- } else {
- // We don't have a BeanInfo telling us how to merge, so we did reflection. But if that is the case, we already
- // took the supers into account and did not override any thru the reflection, so all supers are good.
- allOperations.addAll(supers);
- }
- }
- }
- allOperations.addAll(localOperations);
- ESuperAdapter sa = getJavaClass().getESuperAdapter();
- sa.setAllOperationsCollectionModified(false); // Now built, so reset to not changed.
- } finally {
- isDoingAllOperations = false;
- }
- }
-
- allOperations.shrink();
- return new EcoreEList.UnmodifiableEList(
- getJavaClass(),
- EcorePackage.eINSTANCE.getEClass_EAllOperations(),
- allOperations.size(),
- allOperations.data());
-
- }
-
- /**
- * introspect the events
- */
- protected EList introspectEvents() {
- introspectIfNecessary();
- if (!isIntrospecting && !isIntrospectingEvents && !hasIntrospectedEvents) {
- isIntrospectingEvents = true;
- try {
- if (isResourceConnected()) {
- BeanDecorator bd = Utilities.getBeanDecorator(getJavaClass());
- if (bd == null || bd.isIntrospectEvents()) {
- // bd wants events to be introspected/reflected
- if (beaninfo != null) {
- IArrayBeanProxy events =
- (IArrayBeanProxy) getProxyConstants().getEventSetDescriptorsProxy().invokeCatchThrowableExceptions(
- beaninfo);
- if (events != null) {
- int eventSize = events.getLength();
- for (int i = 0; i < eventSize; i++)
- calculateEvent(events.getCatchThrowableException(i));
- }
- } else
- reflectEvents(); // No beaninfo, so use reflection to create events
- }
-
- // 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) {
- int implicit = e.isImplicitlyCreated();
- if (implicit != EventSetDecorator.NOT_IMPLICIT) {
- e.setEModelElement(null); // Remove it because it was implicit.
- ((InternalEObject) e).eSetProxyURI(BAD_URI);
- e = null;
- }
- if (implicit == EventSetDecorator.IMPLICIT_DECORATOR_AND_FEATURE) {
- itr.remove(); // The feature was implicit too.
- ((InternalEObject) a).eSetProxyURI(BAD_URI);
- a = null;
- }
- }
- }
- }
- hasIntrospectedEvents = true;
- }
- } finally {
- isIntrospectingEvents = false;
- eventsMap = null; // Clear out the temp lists.
- eventsRealList = null;
- }
- }
-
- return getJavaClass().getEventsGen();
- }
-
- /**
- * Fill in the event and its decorator using the eventDesc.
- */
- protected void calculateEvent(IBeanProxy eventDesc) {
- String name = ((IStringBeanProxy) getProxyConstants().getNameProxy().invokeCatchThrowableExceptions(eventDesc)).stringValue();
- createEvent(name, eventDesc);
- }
-
- /**
- * Fill in the event and its decorator using the passed in information.
- */
- public EventSetDecorator createEvent(String name, IBeanProxy eventDesc) {
- // 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;
- }
-
- int implicit = ed == null ? FeatureDecorator.IMPLICIT_DECORATOR : FeatureDecorator.NOT_IMPLICIT;
- if (event == null) {
- // We will create a new Event.
- event = BeaninfoFactory.eINSTANCE.createBeanEvent();
- getEventsList().add(event);
- implicit = FeatureDecorator.IMPLICIT_DECORATOR_AND_FEATURE; // Can't have an implicit feature but explicit decorator.
- }
-
- // Now fill it in.
- ((XMIResource) event.eResource()).setID(event, getJavaClass().getName() + BeaninfoJavaReflectionKeyExtension.EVENT + name);
- event.setName(name);
-
- // Now create/fill 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.setImplicitlyCreated(implicit);
- event.getEAnnotations().add(ed);
- }
- ed.setDescriptorProxy(eventDesc);
- ed.setDecoratorProxy(null);
- return ed;
- }
-
- /**
- * 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.
- HashMap supers = new HashMap(50);
- BeanDecorator bd = Utilities.getBeanDecorator(getJavaClass());
- if (bd.isMergeSuperEvents()) {
- JavaClass superType = (JavaClass) getJavaClass().getSupertype();
- if (superType != null) {
- Iterator superAllItr = superType.getAllEvents().iterator();
- while (superAllItr.hasNext()) {
- JavaEvent se = (JavaEvent) superAllItr.next();
- supers.put(se.getName(), se);
- }
- // Kludge: The above requests for super events could of caused a recycle (in case the super
- // was stale). Because of this we need to reintrospect to mark ourselves as not stale.
- introspectIfNecessary();
- }
- }
-
- 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.
-
- JavaEvent superEvent = (JavaEvent) supers.get(eventName);
- if (superEvent != null)
- 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 allEvents = new UniqueEList() {
- protected Object[] newData(int capacity) {
- return new JavaEvent[capacity];
- }
-
- protected boolean useEquals() {
- return false;
- }
- };
- if (!isIntrospecting && !isDoingAllEvents && isResourceConnected()) {
- isDoingAllEvents = true;
- try {
- EList localEvents = getJavaClass().getEvents();
- JavaClass superType = getJavaClass().getSupertype();
- if (superType != null) {
- // Now we need to merge in the supers.
- BeanDecorator bd = Utilities.getBeanDecorator(getJavaClass());
- List supers = superType.getAllEvents();
-
- // We will now merge as directed.
- boolean mergeAll = bd == null || bd.isMergeSuperEvents();
- if (!mergeAll) {
- // we don't to want to merge super properties, but we still need super non-properties or explicit ones.
- int len = supers.size();
- for (int i = 0; i < len; i++) {
- JavaEvent e = (JavaEvent) supers.get(i);
- EventSetDecorator ed = Utilities.getEventSetDecorator(e);
- if (ed == null || (ed.isImplicitlyCreated() == FeatureDecorator.NOT_IMPLICIT && !ed.isMergeIntrospection()))
- allEvents.add(e);
- }
- } else {
- // We want to merge all.
- if (beaninfo != null) {
- // BeanInfo has given us the merge list. If the list is empty, then we accept all.
- IArrayBeanProxy superNames = (IArrayBeanProxy) getProxyConstants().getInheritedEventSetDescriptorsProxy().invokeCatchThrowableExceptions(beaninfo);
- if (superNames != null) {
- // We were given a list of names.
- // Get the names into a set to create a quick lookup.
- int l = superNames.getLength();
- HashSet superSet = new HashSet(l);
- for (int i = 0; i < l; i++) {
- superSet.add(((IStringBeanProxy) superNames.getCatchThrowableException(i)).stringValue());
- }
-
- // Now walk and add in non-bean properties (and bean events that were explicitly added and not mergeable (i.e. didn't come thru beaninfo))
- // and those specifically called out by BeanInfo.
- int len = supers.size();
- for (int i = 0; i < len; i++) {
- JavaEvent e = (JavaEvent) supers.get(i);
- EventSetDecorator ed = Utilities.getEventSetDecorator(e);
- if (ed == null || (ed.isImplicitlyCreated() == FeatureDecorator.NOT_IMPLICIT && !ed.isMergeIntrospection()) || superSet.contains(ed.getName()))
- allEvents.add(e);
- }
- } else {
- // BeanInfo called out that all super properties
- allEvents.addAll(supers);
- }
- } else {
- // We don't have a BeanInfo telling us how to merge. This means we reflected and have already stripped
- // out and prevented duplicates by name.
- allEvents.addAll(supers);
- }
- }
- }
- allEvents.addAll(localEvents);
- superAdapter.setAllEventsCollectionModified(false); // Now built, so reset to not changed.
- } finally {
- isDoingAllEvents = false;
- }
- }
-
- allEvents.shrink();
- return new EcoreEList.UnmodifiableEList(
- 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 = (List) 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 = (List) 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, null);
- if (ed == null)
- return false; // Reflection not wanted.
-
- ed.setAddListenerMethod(addListenerMethod);
- ed.setRemoveListenerMethod(removeListenerMethod);
-
- // See if unicast.
- Iterator itr = addListenerMethod.getJavaExceptions().iterator();
- while (itr.hasNext()) {
- if (itr.next() == BeaninfoClassAdapter.this.tooManyExceptionClass) {
- ed.setUnicast(true);
- break;
- }
- }
-
- // Set the listener type.
- List parms = addListenerMethod.getParameters();
- ed.setListenerType((JavaClass) ((JavaParameter) parms.get(0)).getEType());
-
- // We'll let listener methods get retrieved dynamically when needed.
-
- 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.
- hasIntrospected = hasIntrospectedProperties = hasIntrospectedOperations = hasIntrospectedEvents = false;
- // So that next access will re-introspect
- defaultBound = null; // So query on next request.
- staleFactory = new WeakReference(stale);
- if (beaninfo != null) {
- beaninfo.getProxyFactoryRegistry().releaseProxy(beaninfo); // Dispose of the beaninfo since we will need to recreate it
- beaninfo = null;
- }
-
- // 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);
- }
- }
-
- /**
- * 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();
- }
-
- private String formLongName(String name, IBeanProxy methDesc) {
- StringBuffer longName = new StringBuffer(100);
- longName.append(name); // Feature Name
- longName.append(':');
- IMethodProxy mthd = (IMethodProxy) getProxyConstants().getMethodProxy().invokeCatchThrowableExceptions(methDesc);
- longName.append(mthd.getName()); // Method Name
- longName.append('(');
- IBeanTypeProxy[] p = mthd.getParameterTypes();
- for (int i = 0; i < p.length; i++) {
- IBeanTypeProxy parm = p[i];
- if (i>0)
- longName.append(',');
- longName.append(parm.getFormalTypeName());
- }
-
- 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$
- }
-
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoEntry.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoEntry.java
deleted file mode 100644
index 444c20bcb..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoEntry.java
+++ /dev/null
@@ -1,340 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.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 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: BeaninfoEntry.java,v $
- * $Revision: 1.1 $ $Date: 2003/10/27 17:17:59 $
- */
-
-import java.util.ArrayList;
-
-import org.eclipse.jem.internal.proxy.core.ProxyPlugin;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.*;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.w3c.dom.*;
-
-/**
- * Beaninfo entry. Location of the beaninfos. Much like a standard classpath entry.
- *
- * @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.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 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);
- }
-
- 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 != 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;
- }
-
- 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 if (pluginPath != null)
- return new BeaninfoEntry(
- pluginPath,
- (SearchpathEntry[]) searchpaths.toArray(new SearchpathEntry[searchpaths.size()]),
- isExported);
- else
- return null;
- }
-
- 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) {
- // 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 classpath for this entry. This is the path to the
- * beaninfo jar.
- * Returns either:
- * 1) a string if a single jar,
- * 2) an IProject if it is a project,
- * 3) a String[] if it is a jar (including from any fragments) in a plugin. The [0] entry should be the one directly from the plugin, the rest will be from fragments.
- * It can return null if the path could not be computed.
- */
- public Object getClasspath() {
- if (entry != null) {
- // It is a standard CPE Entry.
- IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
- IClasspathEntry resolvedEntry = JavaCore.getResolvedClasspathEntry(entry);
- switch (resolvedEntry.getEntryKind()) {
- case IClasspathEntry.CPE_PROJECT :
- IProject reqProject = (IProject) root.findMember(resolvedEntry.getPath().lastSegment());
- // Project entries only have one segment.
- if (reqProject != null && reqProject.isOpen())
- return reqProject;
- else
- return null;
-
- case IClasspathEntry.CPE_SOURCE :
- reqProject = (IProject) root.findMember(resolvedEntry.getPath().segment(0));
- // Find project from the first segment.
- IJavaProject javaProject = JavaCore.create(reqProject);
- if (javaProject != null) {
- try {
- IPath outputLocation = javaProject.getOutputLocation();
- IResource resource = root.findMember(outputLocation);
- if (resource != null) {
- return resource.getLocation().toString();
- }
- } catch(JavaModelException e) {
- }
- }
- break;
-
- case IClasspathEntry.CPE_LIBRARY :
- IResource library = root.findMember(resolvedEntry.getPath());
- // can be external or in workspace
- return (library != null) ? library.getLocation().toString() : resolvedEntry.getPath().toString();
- }
- } else {
- IPluginDescriptor descr = Platform.getPluginRegistry().getPluginDescriptor(pluginPath.segment(0));
- if (descr != null)
- return ProxyPlugin.getPlugin().localizeFromPluginDescriptorAndFragments(
- descr,
- pluginPath.removeFirstSegments(1).toString());
- }
- return null;
-
- }
-
- 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();
- }
-
-} \ No newline at end of file
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 8df2aa16d..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoJavaReflectionKeyExtension.java
+++ /dev/null
@@ -1,134 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.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 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: BeaninfoJavaReflectionKeyExtension.java,v $
- * $Revision: 1.2 $ $Date: 2004/01/13 16:17:00 $
- */
-
-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.getEAttributes();
- javaclass.getEReferences();
- 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 88d843a19..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoModelSynchronizer.java
+++ /dev/null
@@ -1,271 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.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 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: BeaninfoModelSynchronizer.java,v $
- * $Revision: 1.1 $ $Date: 2003/10/27 17:17:59 $
- */
-
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResourceDelta;
-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.
- protected IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
- private static final IPath CLASSPATH_PATH = new Path(".classpath"); //$NON-NLS-1$
- private static final IPath BEANINFOCONFIG_PATH = new Path(BeaninfoNature.P_BEANINFO_SEARCH_PATH); //$NON-NLS-1$
-
- public BeaninfoModelSynchronizer(BeaninfoAdapterFactory aFactory, IJavaProject aProject) {
- super();
- fAdapterFactory = aFactory;
- fProject = aProject;
- // We're really only interested in Post_Change, not the others, so we will
- // remove ourself (since super ctor added ourself) and then add ourself
- // back with only post change. (Post change is after everything has been
- // reconciled and build).
- JavaCore.removeElementChangedListener(this);
- JavaCore.addElementChangedListener(this, ElementChangedEvent.POST_CHANGE);
- }
-
- /**
- * Stop the synchronizer from listening to any more changes.
- */
- public void stopSynchronizer(boolean clearResults) {
- JavaCore.removeElementChangedListener(this);
- getAdapterFactory().closeAll(clearResults);
- }
-
- protected BeaninfoAdapterFactory getAdapterFactory() {
- return fAdapterFactory;
- }
-
- protected IJavaProject getJavaProject(IClasspathEntry entry) {
- IProject proj = workspaceRoot.getProject(entry.getPath().segment(0));
- if (proj != null)
- return (IJavaProject) JavaCore.create(proj);
- return null;
- }
-
- private 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));
- }
-
- /**
- * 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 = fProject;
- if (javaProject.equals(adapterJavaProject))
- return true;
- return isInClasspath(javaProject, adapterJavaProject, true, new HashSet());
- }
-
- 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(resEntry);
- 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);
- }
-
- 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;
- }
-
- /*
- * Test if .classpath/.beaninfoconfig is part of the change. This is necessary
- * because .classpath/.beaninfoconfig changes of DEPENDENT PROJECTS are not signaled
- * through classpath change mechanisms of the top project.
- */
- private boolean isClasspathResourceChange(IJavaElementDelta delta) {
- 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.NO_CHANGE) {
- path = resources[i].getProjectRelativePath();
- if (path.equals(CLASSPATH_PATH) || path.equals(BEANINFOCONFIG_PATH))
- return true;
- }
- }
- return false;
- }
-
- 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 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) {
- if (!element.isWorkingCopy()) {
- if ((delta.getKind() == IJavaElementDelta.CHANGED || delta.getKind() == IJavaElementDelta.ADDED)) {
- try {
- IType[] flushTypes = element.getAllTypes();
- for (int i = 0; i < flushTypes.length; i++) {
- getAdapterFactory().markStaleIntrospection(flushTypes[i].getFullyQualifiedName(), false);
- }
- } catch (JavaModelException e) {
- }
- }
- 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().unregisterIntrospectionPlusInner(getFullNameFromElement(element));
- return;
- // Since the compilation unit was removed we don't need to process the children (actually the children list will be empty
- }
- processChildren(element, delta);
- }
- }
-
- /**
- * 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().unregisterIntrospectionPlusInner(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]);
- }
- }
-
- 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);
- }
-
- /**
- * 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) {
- getAdapterFactory().unregisterIntrospectionPlusInner(element.getFullyQualifiedName()); // Close it out. Doesn't matter if moved_to, that would be a rename which requires brand new class.
- } else
- getAdapterFactory().markStaleIntrospection(element.getFullyQualifiedName(), false); // Just mark it stale
- processChildren(element, delta);
- }
-
- public String toString() {
- return super.toString()+" "+fProject.getElementName(); //$NON-NLS-1$
- }
-} \ No newline at end of file
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 e72b030dd..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoNature.java
+++ /dev/null
@@ -1,967 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.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 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: BeaninfoNature.java,v $
- * $Revision: 1.2 $ $Date: 2004/01/13 16:17:00 $
- */
-
-import java.io.*;
-import java.text.MessageFormat;
-import java.util.*;
-
-import org.apache.xerces.jaxp.DocumentBuilderFactoryImpl;
-import org.apache.xml.serialize.*;
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-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.jdt.core.*;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jdt.launching.VMRunnerConfiguration;
-import org.w3c.dom.*;
-import org.xml.sax.InputSource;
-
-import org.eclipse.wtp.emf.workbench.ResourceHandler;
-
-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.*;
-
-/**
- * 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 = "org.eclipse.jem.beaninfo.BeanInfoNature"; //$NON-NLS-1$
- public static final String P_BEANINFO_SEARCH_PATH = ".beaninfoConfig"; //$NON-NLS-1$
- // Persistent key
-
- private ResourceTracker resourceTracker;
- // This class listens for changes to the beaninfo paths file, and if changed it marks all stale
- // so the next time anything is needed it will recycle the vm. It will also listen about to close or
- // about to delete of the project so that it can cleanup.
- private class ResourceTracker implements IResourceChangeListener{
- public void resourceChanged(IResourceChangeEvent e) {
- // About to close or delete the project and it is ours, so we need to cleanup.
- if (e.getType() == IResourceChangeEvent.PRE_CLOSE || e.getType() == IResourceChangeEvent.PRE_DELETE) {
- // Performance: It has been noted that dres.equals(...) can be slow with the number
- // of visits done. Checking just the last segment (getName()) first before checking
- // the entire resource provides faster testing. If the last segment is not equal,
- // then the entire resource could not be equal.
- IResource eventResource = e.getResource();
- if (eventResource.getName().equals(getProject().getName()) && eventResource.equals(getProject())) {
- cleanup(false);
- return;
- }
- }
- // Note: the BeaninfoModelSynchronizer takes care of both .classpath and .beaninfoconfig changes
- // in this project and any required projects.
- }
- }
-
- 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 {
- if (project.hasNature(NATURE_ID))
- return (BeaninfoNature) project.getNature(NATURE_ID);
- else
- return createRuntime(project);
- }
-
- /**
- * 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,
- 0,
- MessageFormat.format(
- BeaninfoPlugin.getPlugin().getDescriptor().getResourceString(BeaninfoProperties.INTROSPECTFAILED),
- new Object[] { project.getName()}),
- 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);
- }
-
- /**
- * Return a new ResourceSet that is linked correctly to this Beaninfo Nature.
- * 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.
- *
- * The resourceset will have a context assigned to it.
- *
- * 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.
- */
- 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.
- return getResourceSet().getResource(uri, false);
- }
-
- 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;
- }
- });
- 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.
- */
- protected void cleanup(boolean clearResults) {
- getProject().getWorkspace().removeResourceChangeListener(resourceTracker);
- resourceTracker = null;
- 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) {
- fProject = project;
-
- 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();
- }
- });
- fSynchronizer =
- new BeaninfoModelSynchronizer(
- (BeaninfoAdapterFactory) EcoreUtil.getAdapterFactory(javaRSet.getAdapterFactories(), IIntrospectionAdapter.ADAPTER_KEY),
- JavaCore.create(javaNature.getProject()));
- resourceTracker = new ResourceTracker();
- project.getWorkspace().addResourceChangeListener(resourceTracker);
- } catch (CoreException e) {
- BeaninfoPlugin.getPlugin().getMsgLogger().log(e.getStatus());
- }
- }
-
- /**
- * Get the registry, creating it if necessary.
- */
- public ProxyFactoryRegistry getRegistry() {
- return getRegistry(new NullProgressMonitor());
- }
-
- /**
- * 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;
- }
- if (reg != null) {
- reg.removeRegistryListener(registryListener);
- reg.terminateRegistry();
- }
- }
-
- public synchronized ProxyFactoryRegistry getRegistry(IProgressMonitor pm) {
- if (fRegistry == null) {
- try {
- fRegistry = ProxyPlugin.getPlugin().startImplementation(fProject, "Beaninfo", //$NON-NLS-1$
- new IConfigurationContributor[] { getConfigurationContributor()}, pm);
- fRegistry.addRegistryListener(registryListener);
- } catch (CoreException e) {
- BeaninfoPlugin.getPlugin().getMsgLogger().log(e.getStatus());
- }
- }
- return fRegistry;
- }
-
- 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);
- }
-
- /*
- * Get the search path in the old format.
- */
- private BeaninfoSearchPathEntry[] getOldFormatSearchPath(Element root) {
- NodeList children = root.getChildNodes();
- int childrenLength = children.getLength();
- ArrayList childrenList = new ArrayList(childrenLength);
- for (int i = 0; i < childrenLength; i++) {
- Node child = children.item(i);
- BeaninfoSearchPathEntry bentry = BeaninfoSearchPathEntry.readEntry(child);
- if (bentry != null)
- childrenList.add(bentry);
- }
- return (BeaninfoSearchPathEntry[]) childrenList.toArray(new BeaninfoSearchPathEntry[childrenList.size()]);
- }
-
- /*
- * Convert the old format to new format.
- */
- private BeaninfosDoc convertOldFormatSearchPath(Element root) {
- BeaninfoSearchPathEntry[] entries = getOldFormatSearchPath(root);
-
- try {
- IJavaProject jp = JavaCore.create(getProject());
- IClasspathEntry[] cpEntries = jp.getRawClasspath();
- HashMap resolvedEntries = new HashMap(cpEntries.length);
- for (int i = 0; i < cpEntries.length; i++) {
- IClasspathEntry resolved = JavaCore.getResolvedClasspathEntry(cpEntries[i]);
- if (resolved != null)
- resolvedEntries.put(resolved.getPath(), new Integer(i));
- }
-
- List newentries = new ArrayList(entries.length);
- for (int i = 0; i < entries.length; i++) {
- IPath pkgPath = new Path(entries[i].getPackageName().replace('.', '/'));
- try {
- IPackageFragment frag = (IPackageFragment) jp.findElement(pkgPath); // Find the first match
- if (frag != null) {
- IPackageFragmentRoot froot = (IPackageFragmentRoot) frag.getParent();
- Integer index = (Integer) resolvedEntries.get(froot.getPath());
- if (index != null) {
- IClasspathEntry cpe = cpEntries[index.intValue()];
- newentries.add(new SearchpathEntry(cpe.getEntryKind(), cpe.getPath(), frag.getElementName()));
- }
- }
- } catch (ClassCastException e) {
- // It didn't find a IPackageFragment, it should of, so skip this entry.
- }
- }
- return new BeaninfosDoc((IBeaninfosDocEntry[]) newentries.toArray(new IBeaninfosDocEntry[newentries.size()]));
- } catch (JavaModelException e) {
- }
- return null;
- }
-
- private static final String ENCODING = "UTF-8"; //$NON-NLS-1$
- private static final String sSearchPathElementName = "searchPath"; //$NON-NLS-1$
- // Old format root element name (WSAD 4.0.0)
- static final String sBeaninfos = "beaninfos"; // Root element name //$NON-NLS-1$
- /**
- * Get the persistent search path. The object returned is a copy of the
- * list, and it can be modified, but it won't be reflected back into the
- * nature.
- */
- 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.
- DocumentBuilderFactoryImpl bldrFactory = new DocumentBuilderFactoryImpl();
- Document doc = bldrFactory.newDocumentBuilder().parse(new InputSource(new InputStreamReader(property, ENCODING)));
- Element root = doc.getDocumentElement();
- if (root != null && root.getNodeName().equalsIgnoreCase(sSearchPathElementName)) {
- // Old format. Need to convert to new format.
- bdoc = convertOldFormatSearchPath(root);
- setSearchPath(bdoc); // Now put out the converted format.
- } else if (root != null && root.getNodeName().equalsIgnoreCase(sBeaninfos)) {
- // New format
- bdoc = BeaninfosDoc.readEntry(new DOMReader(), root, getProject());
- }
- } finally {
- try {
- property.close();
- } catch (IOException e) {
- }
- }
- }
- } catch (CoreException e) {
- BeaninfoPlugin.getPlugin().getMsgLogger().log(e.getStatus());
- } catch (Exception e) {
- BeaninfoPlugin.getPlugin().getMsgLogger().log(new Status(IStatus.WARNING, BeaninfoPlugin.PI_BEANINFO, 0, "", e));
- }
- 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 {
- DocumentBuilderFactoryImpl bldrFactory = new DocumentBuilderFactoryImpl();
- Document doc = bldrFactory.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
- OutputFormat format = new OutputFormat(doc); //Serialize DOM
- format.setIndenting(true);
- StringWriter strWriter = new StringWriter();
- Serializer serial = SerializerFactory.getSerializerFactory(format.getMethod()).makeSerializer(strWriter, format);
- serial.asDOMSerializer().serialize(doc.getDocumentElement());
- property = strWriter.toString();
- } catch (Exception e) {
- }
- }
-
- 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 final IPath JRE_LIB_VARIABLE_PATH = new Path(JavaRuntime.JRELIB_VARIABLE); // TODO Remove when we handle containers
- private class ConfigurationContributor implements IConfigurationContributor {
-
- BeaninfosDoc doc;
- List computedSearchPath = new ArrayList();
- // Compute the search path as we compute the classpaths. This is saved because it will be used in a separate call.
- HashSet visitedVariablepaths; // Visited registered variable paths, so we don't visit them again.
- List variableContributors = new ArrayList(0); // Variable contributors that were found.
-
- public ConfigurationContributor(BeaninfosDoc doc) {
- this.doc = doc;
- }
-
- /**
- * Method to update any class paths with any
- * paths that need to be added to a VM. In this case, it is
- * the proxyvm.jar that needs to be added. This jar contains
- * the common code that is required by any VM for proxy
- * support.
- */
- public void contributeClasspaths(List classPaths, IClasspathContributionController controller) throws CoreException {
- // Need to find any additional beaninfo jars. They can be pointed to within this projects path,
- // or they can be found in pre-req'd project (assuming they are exported).
- HashSet visitedProjects = new HashSet();
- visitedVariablepaths = new HashSet();
- try {
- contributeClasspathsForProject(classPaths, controller, getProject(), visitedProjects, doc);
- // Add the beaninfovm.jar and any nls to the end of the classpath.
- controller.contributeClasspath(ProxyPlugin.getPlugin().urlLocalizeFromPluginDescriptorAndFragments(BeaninfoPlugin.getPlugin().getDescriptor(), "vm/beaninfovm.jar"), //$NON-NLS-1$
- classPaths, -1);
- } finally {
- visitedVariablepaths = null;
- }
-
- // Now turn the var elements into contributors.
- for (ListIterator itr = variableContributors.listIterator(); itr.hasNext();) {
- IConfigurationElement v = (IConfigurationElement) itr.next();
- IConfigurationContributor contrib = null;
- try {
- contrib = (IConfigurationContributor) v.createExecutableExtension(BeaninfoPlugin.PI_CONTRIBUTOR);
- } catch (ClassCastException e) {
- BeaninfoPlugin.getPlugin().getMsgLogger().log(new Status(IStatus.WARNING, BeaninfoPlugin.PI_BEANINFO, 0, "", e)); //$NON-NLS-1$
- }
-
- itr.set(contrib); // Set to what should be used, null is valid for not found.
- if (contrib != null)
- contrib.contributeClasspaths(classPaths, controller);
- }
- }
-
- private IClasspathEntry get(IClasspathEntry[] array, InternalCPEntry cpe) {
- for (int i = 0; i < array.length; i++) {
- if (cpe.equals(array[i]))
- return array[i];
- }
-
- return null;
- }
-
- /*
- * 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(
- List classPaths,
- IClasspathContributionController controller,
- IProject project,
- HashSet visitedProjects,
- BeaninfosDoc doc)
- throws CoreException {
- if (visitedProjects.contains(project))
- return;
- visitedProjects.add(project);
-
- IJavaProject jProject = JavaCore.create(project);
- IClasspathEntry[] rawPath = jProject.getRawClasspath();
-
- // List of classpath entries for this project that have already been processed in the search path list.
- // This is so that at the end when we process the classpath to add in any implicit beaninfos/search paths,
- // we know these had been explicitly handled already.
- List contributedICPEs = new ArrayList();
- InternalCPEntry working = new InternalCPEntry(); // A working copy that we keep reusing.
-
- // Search path of this project
- IBeaninfosDocEntry[] entries = null;
- if (doc != null)
- entries = doc.getSearchpath();
- else {
- BeaninfosDoc adoc = BeaninfoNature.getRuntime(project).getSearchPath();
- entries = adoc != null ? adoc.getSearchpath() : new IBeaninfosDocEntry[0];
- }
-
- IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-
- for (int i = 0; i < entries.length; i++) {
- IBeaninfosDocEntry entry = entries[i];
- if (entry instanceof BeaninfoEntry) {
- BeaninfoEntry be = (BeaninfoEntry) entry;
- if (doc != null || be.isExported()) {
- // First project or this is an exported beaninfo
- Object cp = be.getClasspath();
- if (cp instanceof IProject)
- controller.contributeProject((IProject) cp, classPaths, -1);
- else if (cp instanceof String)
- controller.contributeClasspath((String) cp, classPaths, -1);
- else if (cp instanceof String[])
- controller.contributeClasspath((String[]) cp, classPaths, -1);
- else
- continue; // It was an invalid entry, don't add in its searchpaths.
-
- // Now add in the package names.
- SearchpathEntry[] sees = be.getSearchPaths();
- for (int j = 0; j < sees.length; j++) {
- SearchpathEntry searchpathEntry = sees[j];
- if (!computedSearchPath.contains(searchpathEntry.getPackage()))
- computedSearchPath.add(searchpathEntry.getPackage());
- }
- }
- } else {
- // Just a search path entry. There is no beaninfo jar to pick up.
- SearchpathEntry se = (SearchpathEntry) entry;
- working.setEntry(se.getKind(), se.getPath());
- int cndx = contributedICPEs.indexOf(working);
- if (cndx == -1) {
- InternalCPEntry icpe = new InternalCPEntry(working.getKind(), working.getPath());
- contributedICPEs.add(icpe); // Keep a record that this entry has been used.
- if (doc == null) {
- // This is the first time we've found this entry and 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, icpe);
- if (cpe == null || (cpe.getEntryKind() != IClasspathEntry.CPE_SOURCE && !cpe.isExported())) {
- icpe.setIsExported(false); // Mark it as exported so if found again it won't be used.
- continue; // Not exist or not exported, so we don't want it here either.
- }
- }
- } else {
- InternalCPEntry icpe = (InternalCPEntry) contributedICPEs.get(cndx);
- if (doc == null && !icpe.isExported())
- continue; // We've already determined it is not exported, so don't use it.
- }
-
- String pkg = se.getPackage();
- if (pkg != null) {
- // Explicit search path
- if (!computedSearchPath.contains(pkg))
- computedSearchPath.add(pkg);
- } else {
- // Process if this is an implicit search path kind of entry.
- // I.e. It is just kind/path and no packagename. This means
- // find the implicit searchpaths for this entry and put them
- // in order here now. This can only be used on implicit kind
- // of classpath entries. Any others don't have any implicit search paths
- // so they are processed, just ignored.
- processImplicitSearchPath(classPaths, controller, visitedProjects, root, se.getKind(), se.getPath());
- }
-
- }
- }
-
- // Now we need to go through our raw classpath to handle any not already handled.
- // We only handle implicit search path from the project or registered variable.
- for (int i = 0; i < rawPath.length; i++) {
- IClasspathEntry entry = rawPath[i];
- working.setEntry(entry);
- if (contributedICPEs.contains(working))
- continue; // We've already handled it above.
- processImplicitSearchPath(classPaths, controller, visitedProjects, root, entry.getEntryKind(), entry.getPath());
- }
-
- }
-
- protected void processImplicitSearchPath(
- List classPaths,
- IClasspathContributionController controller,
- HashSet visitedProjects,
- IWorkspaceRoot root,
- int kind,
- IPath path)
- throws CoreException {
- // Use the implicit search path from the project or registered variable.
- // For now, only projects.
- if (kind == IClasspathEntry.CPE_PROJECT) {
- IProject reqProject = (IProject) root.findMember(path.lastSegment());
- // Project entries only have one segment.
- if (reqProject != null && reqProject.isOpen())
- contributeClasspathsForProject(classPaths, controller, reqProject, visitedProjects, null);
- } else if (kind == IClasspathEntry.CPE_VARIABLE) {
- // We only handle variables as being registered.
- if (path == null || path.segmentCount() == 0)
- return; // No path information to process.
- // First we handle the generic kind of for just the variable itself (which is segment 0).
- IPath varpath = path.segmentCount() == 1 ? path : path.removeLastSegments(path.segmentCount() - 1);
- if (!visitedVariablepaths.contains(varpath)) {
- visitedVariablepaths.add(varpath);
- BeaninfoRegistration[] registrations = BeaninfoPlugin.getPlugin().getRegistrations(varpath);
- if (registrations != null)
- processBeaninfoRegistrations(registrations, classPaths, controller);
- }
-
- // Now process for the specific path (which would be variable followed by some subpaths).
- if (path.segmentCount() > 1 && !visitedVariablepaths.contains(path)) {
- visitedVariablepaths.add(path);
- BeaninfoRegistration[] registrations = BeaninfoPlugin.getPlugin().getRegistrations(path);
- if (registrations != null)
- processBeaninfoRegistrations(registrations, classPaths, controller);
- }
- } else if (kind == IClasspathEntry.CPE_CONTAINER) {
- // KLUDGE TODO For now we can't really handle containers, we will simply hard-code and only handle JRE container to JRE_LIB stuff.
- if (path == null || path.segmentCount() == 0)
- return; // No path information to process.
- if (path.segment(0).equals(JavaRuntime.JRE_CONTAINER)) {
- if (!visitedVariablepaths.contains(JRE_LIB_VARIABLE_PATH)) {
- visitedVariablepaths.add(JRE_LIB_VARIABLE_PATH);
- BeaninfoRegistration[] registrations = BeaninfoPlugin.getPlugin().getRegistrations(JRE_LIB_VARIABLE_PATH);
- if (registrations != null)
- processBeaninfoRegistrations(registrations, classPaths, controller);
- }
- }
- }
- }
-
- protected void processBeaninfoRegistrations(
- BeaninfoRegistration[] registrations,
- List classPaths,
- IClasspathContributionController controller)
- throws CoreException {
- for (int i = 0; i < registrations.length; i++)
- processBeaninfoRegistration(registrations[i], classPaths, controller);
- }
-
- protected void processBeaninfoRegistration(
- BeaninfoRegistration registration,
- List classPaths,
- IClasspathContributionController controller)
- throws CoreException {
- BeaninfosDoc doc = registration.getDoc();
- if (doc == null)
- return;
-
- IConfigurationElement varElement = registration.getVariableElement();
- if (varElement != null)
- variableContributors.add(varElement);
-
- IBeaninfosDocEntry[] entries = doc.getSearchpath();
-
- for (int i = 0; i < entries.length; i++) {
- IBeaninfosDocEntry entry = entries[i];
- if (entry instanceof BeaninfoEntry) {
- BeaninfoEntry be = (BeaninfoEntry) entry;
- Object cp = be.getClasspath();
- if (cp instanceof IProject)
- controller.contributeProject((IProject) cp, classPaths, -1);
- else if (cp instanceof String)
- controller.contributeClasspath((String) cp, classPaths, -1);
- else if (cp instanceof String[])
- controller.contributeClasspath((String[]) cp, classPaths, -1);
- else
- continue; // It was an invalid entry, don't add in its searchpaths.
-
- // Now add in the package names.
- SearchpathEntry[] sees = be.getSearchPaths();
- for (int j = 0; j < sees.length; j++) {
- SearchpathEntry searchpathEntry = sees[j];
- if (!computedSearchPath.contains(searchpathEntry.getPackage()))
- computedSearchPath.add(searchpathEntry.getPackage());
- }
- } else {
- // Just a search path entry. There is no beaninfo jar to pick up. The paths will be in the current classpath probably from the bean classes jar that this registration matches.
- // There should be no paths or kinds. It should only be packagename.
-
- String pkg = ((SearchpathEntry) entry).getPackage();
- if (pkg != null) {
- // Explicit search path
- if (!computedSearchPath.contains(pkg))
- computedSearchPath.add(pkg);
- }
- }
- }
- }
-
- public void contributeToConfiguration(VMRunnerConfiguration config) {
- for (int i = 0; i < variableContributors.size(); i++) {
- IConfigurationContributor contrib = (IConfigurationContributor) variableContributors.get(i);
- if (contrib != null)
- contrib.contributeToConfiguration(config);
- }
- }
-
- public void contributeToRegistry(ProxyFactoryRegistry registry) {
- setProxySearchPath(registry, computedSearchPath);
- for (int i = 0; i < variableContributors.size(); i++) {
- IConfigurationContributor contrib = (IConfigurationContributor) variableContributors.get(i);
- if (contrib != null)
- contrib.contributeToRegistry(registry);
- }
- }
- }
-
- /*
- * An internal type CPEntry because an actual
- * entry also tests attachments, but we are only interested
- * in kind/path.
- *
- * Note: This must not be used in a Hash... because its hashCode
- * doesn't work for this. This is because there is no hashCode
- * that we could compute that would allow IClasspathEntry's and
- * InternalCPEntry's that are semantically equal to hash to the same value.
- */
- private static class InternalCPEntry {
- int kind;
- IPath path;
- boolean isExported = true;
-
- public InternalCPEntry(int kind, IPath path) {
- setEntry(kind, path);
- }
-
- public InternalCPEntry() {
- }
-
- /*
- * Set if this entry is exported or not. This is not involved in
- * the equality test.
- */
- public boolean isExported() {
- return isExported;
- }
-
- public void setIsExported(boolean isExported) {
- this.isExported = isExported;
- }
-
- public int getKind() {
- return kind;
- }
-
- public IPath getPath() {
- return path;
- }
-
- public boolean equals(Object o) {
- if (this == o)
- return true;
-
- if (o instanceof IClasspathEntry) {
- IClasspathEntry ce = (IClasspathEntry) o;
- return kind == ce.getEntryKind() && path.equals(ce.getPath());
- }
-
- if (o instanceof InternalCPEntry) {
- InternalCPEntry ice = (InternalCPEntry) o;
- return kind == ice.kind && path.equals(ice.path);
- }
-
- return false;
- }
-
- public void setEntry(IClasspathEntry entry) {
- setEntry(entry.getEntryKind(), entry.getPath());
- }
-
- public void setEntry(int kind, IPath path) {
- this.kind = kind;
- this.path = path;
- }
-
- }
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoPlugin.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoPlugin.java
deleted file mode 100644
index 926ad9241..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoPlugin.java
+++ /dev/null
@@ -1,325 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.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 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: BeaninfoPlugin.java,v $
- * $Revision: 1.1 $ $Date: 2003/10/27 17:17:59 $
- */
-
-
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-
-import org.eclipse.jem.internal.core.EclipseLogMsgLogger;
-import org.eclipse.jem.internal.core.MsgLogger;
-import org.eclipse.jem.internal.proxy.core.ProxyPlugin;
-
-/**
- * The plugin class for the org.eclipse.jem.internal.proxy.core plugin.
- */
-
-public class BeaninfoPlugin extends Plugin {
- public static final String PI_BEANINFO = "org.eclipse.jem.beaninfo"; // Plugin ID, used for QualifiedName. //$NON-NLS-1$
- public static final String PI_BEANINFO_REGISTRATIONS = "registrations"; // ID of the registrations extension point. //$NON-NLS-1$
- public static final String PI_BEANINFO_OVERRIDES = "overrides"; // ID of the overrides extension point. //$NON-NLS-1$
-
- public static final String PI_VARIABLE = "variable"; // <variable> in extension point. //$NON-NLS-1$
- public static final String PI_PATH = "path"; // <path="..."> in extension point. //$NON-NLS-1$
- public static final String PI_CONTRIBUTOR = "contributor"; // <contributor ...> or contributor="..." in extension point //$NON-NLS-1$
-
- public static final String PI_PACKAGE = "package"; // <package="..." in extension point. //$NON-NLS-1$
-
- private static BeaninfoPlugin BEANINFO_PLUGIN = null;
-
- public BeaninfoPlugin(IPluginDescriptor pluginDescriptor) {
- super(pluginDescriptor);
- BEANINFO_PLUGIN = this;
- }
-
- /**
- * Accessor method to get the singleton plugin.
- */
- public static BeaninfoPlugin getPlugin() {
- return BEANINFO_PLUGIN;
- }
-
-
-
- // Map of registered beaninfos, mapped key is path, value is BeaninfoRegistration[].
- // It is allowed to have more than one. They will be concatenated together when used.
- private HashMap beaninfos = new HashMap();
-
- // Corresponding arrays, that map one to the other.
- // Fragments is the array of package fragments, as paths (per plugin), that are registered.
- // Paths are the corresponding array of file paths array (as strings). They are retrieved
- // by the same index as the matching fragment index and plugin index.
- private IPath[][] fragments;
- private String[][][] paths;
-
- public class OverridePathSearch {
- protected IPath packagePath;
- protected int nextPlugin = 0;
- protected int nextIndex = 0;
- protected int matchIndex = -1;
-
- protected OverridePathSearch(IPath packagePath) {
- this.packagePath = packagePath;
- }
-
- /**
- * Get the next array of paths that match.
- * Returns null if there are no more.
- */
- public String[] getNextPath() {
- while (nextPlugin < fragments.length) {
- while (nextIndex < fragments[nextPlugin].length) {
- matchIndex = nextIndex++;
- if (fragments[nextPlugin][matchIndex].isPrefixOf(packagePath))
- return paths[nextPlugin][matchIndex];
- }
- nextPlugin++; // Step up to next plugin
- nextIndex = 0;
- }
- matchIndex = -1; // Not found
- return null;
- }
-
- /**
- * Return the unmatched portion of the package name
- * for the current entry. For example, if the
- * package was "java.awt" and the current match
- * path was "java", then the unmatched portion
- * would be returned as "awt". If it matched exactly,
- * it would return "". And if this is being called
- * when it shouldn't it will return null. It will
- * return it in directory form. (i.e. "xyz/qxr").
- */
- public String getUnmatchedPath() {
- if (matchIndex != -1) {
- IPath match = fragments[nextPlugin][matchIndex];
- return packagePath.removeFirstSegments(match.segmentCount()).toString();
- }
-
- return null;
- }
- }
-
-
- /**
- * Return the searcher for the given package name.
- */
- public OverridePathSearch getOverrideSearch(String packageName) {
- return new OverridePathSearch(new Path(packageName.replace('.', '/')));
- }
-
- private MsgLogger msgLogger;
- public MsgLogger getMsgLogger() {
- if (msgLogger == null)
- msgLogger = EclipseLogMsgLogger.createLogger(this);
- return msgLogger;
- }
-
-
- /**
- * Register one registration for the path.
- * The path must be a classpath variable for the first segment. It won't be looked for otherwise.
- * If it is only one segment long, then it is for the variable itself, and it will be used
- * for all paths that start with that variable. This allows several different jars within
- * the variable's path to share the same beaninfo registration information.
- */
- public void registerBeaninfoRegistration(IPath path, BeaninfoRegistration registration) {
- BeaninfoRegistration[] registered = (BeaninfoRegistration[]) beaninfos.get(path);
- if (registered == null)
- registered = new BeaninfoRegistration[] {registration};
- else {
- BeaninfoRegistration[] old = registered;
- registered = new BeaninfoRegistration[old.length+1];
- System.arraycopy(old, 0, registered, 0, old.length);
- registered[old.length] = registration;
- }
-
- beaninfos.put(path, registered);
- }
-
- /**
- * Register multiple registrations for the path.
- * The path must be a classpath variable for the first segment. It won't be looked for otherwise.
- * If it is only one segment long, then it is for the variable itself, and it will be used
- * for all paths that start with that variable. This allows several different jars within
- * the variable's path to share the same beaninfo registration information.
- */
- public void registerBeaninfoRegistration(IPath path, BeaninfoRegistration[] registrations) {
- BeaninfoRegistration[] registered = (BeaninfoRegistration[]) beaninfos.get(path);
- if (registered == null) {
- registered = new BeaninfoRegistration[registrations.length];
- System.arraycopy(registrations, 0, registered, 0, registrations.length);
- } else {
- BeaninfoRegistration[] old = registered;
- registered = new BeaninfoRegistration[old.length+registrations.length];
- System.arraycopy(old, 0, registered, 0, old.length);
- System.arraycopy(registrations, 0, registered, old.length, registrations.length);
- }
-
- beaninfos.put(path, registered);
- }
-
- /**
- * Return the registrations for a specified path. Return null if not registered.
- */
- public BeaninfoRegistration[] getRegistrations(IPath path) {
- return (BeaninfoRegistration[]) beaninfos.get(path);
- }
-
- /*
- * @see Plugin#startup()
- */
- public void startup() throws CoreException {
- super.startup();
-
- processRegistrationExtensionPoint();
- processOverridesExtensionPoint();
- }
-
- protected void processRegistrationExtensionPoint() {
- // Read in the registration information from the extensions.
- // We'll first gather together in Lists, and then send as arrays at one time to register them.
- HashMap registrations = new HashMap();
- IExtension[] extensions = getDescriptor().getExtensionPoint(PI_BEANINFO_REGISTRATIONS).getExtensions();
- // Need to be in plugin order so that first ones processed have no dependencies on others.
- HashMap pluginsToExtensions = new HashMap(extensions.length);
- for (int i = 0; i < extensions.length; i++) {
- IPluginDescriptor desc = extensions[i].getDeclaringPluginDescriptor();
- IExtension[] ext = (IExtension[]) pluginsToExtensions.get(desc);
- if (ext == null)
- pluginsToExtensions.put(desc, 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];
- pluginsToExtensions.put(desc, newExt);
- }
- }
-
- IPluginDescriptor[] ordered = ProxyPlugin.orderPlugins(pluginsToExtensions.keySet());
- for (int i = 0; i < ordered.length; i++) {
- IExtension[] exts = (IExtension[]) pluginsToExtensions.get(ordered[i]);
- for (int j = 0; j < exts.length; j++) {
- IConfigurationElement[] configs = exts[j].getConfigurationElements();
- for (int k = 0; k < configs.length; k++) {
- IConfigurationElement iConfigurationElement = configs[k];
- if (PI_VARIABLE.equals(iConfigurationElement.getName())) {
- boolean hasContributor = iConfigurationElement.getAttributeAsIs(PI_CONTRIBUTOR) != null || iConfigurationElement.getChildren(PI_CONTRIBUTOR).length > 0;
- String varpathstr = iConfigurationElement.getAttributeAsIs(PI_PATH);
- if (varpathstr == null)
- continue; // Not proper format.
- IPath varpath = new Path(varpathstr);
- List varentry = (List) registrations.get(varpath);
- if (varentry == null) {
- varentry = new ArrayList(1);
- registrations.put(varpath, varentry);
- }
- IConfigurationElement[] beaninfos = iConfigurationElement.getChildren(BeaninfoNature.sBeaninfos);
- for (int l = 0; l < beaninfos.length; l++) {
- IConfigurationElement root = beaninfos[l];
- BeaninfoRegistration reg = new BeaninfoRegistration(BeaninfosDoc.readEntry(new ConfigurationElementReader(), root, null));
- if (hasContributor) {
- reg.setVariableElement(iConfigurationElement);
- hasContributor = false; // Only the first one for this variable needs it. The others would only be dups.
- }
- varentry.add(reg);
- }
- }
- }
- }
- }
-
- // Now we've processed all of the extensions.
- Iterator regItr = registrations.entrySet().iterator();
- while (regItr.hasNext()) {
- Map.Entry entry = (Map.Entry) regItr.next();
- List registrationsList = (List) entry.getValue();
- registerBeaninfoRegistration((IPath) entry.getKey(), (BeaninfoRegistration[]) registrationsList.toArray(new BeaninfoRegistration[registrationsList.size()]));
- }
- }
-
- protected void processOverridesExtensionPoint() {
- // We are processing this once because it is accessed often (once per introspected class per project).
- // This can add up so we get it together once here.
- // Read in the overrides information from the extensions.
- // Read in the registration information from the extensions.
- IExtension[] extensions = getDescriptor().getExtensionPoint(PI_BEANINFO_OVERRIDES).getExtensions();
- // Need to be in plugin order so that first ones processed have no dependencies on others.
- HashMap pluginsToExtensions = new HashMap(extensions.length);
- for (int i = 0; i < extensions.length; i++) {
- IPluginDescriptor desc = extensions[i].getDeclaringPluginDescriptor();
- IExtension[] ext = (IExtension[]) pluginsToExtensions.get(desc);
- if (ext == null)
- pluginsToExtensions.put(desc, 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];
- pluginsToExtensions.put(desc, newExt);
- }
- }
-
- // Now order them so we process in required order.
- HashMap overrideMap = new HashMap(); // Working override map per plugin
- IPluginDescriptor[] ordered = ProxyPlugin.orderPlugins(pluginsToExtensions.keySet());
- fragments = new IPath[ordered.length][];
- paths = new String[ordered.length][][];
- for (int i = 0; i < ordered.length; i++) {
- IExtension[] exts = (IExtension[]) pluginsToExtensions.get(ordered[i]);
- overrideMap.clear();
- for (int j = 0; j < exts.length; j++) {
- IConfigurationElement[] configs = exts[j].getConfigurationElements();
- for (int k = 0; k < configs.length; k++) {
- IConfigurationElement iConfigurationElement = configs[k];
- // Don't care about the element name, we show <overrides...> in the example, but really don't care. It just needs path and package.
- String packageName = iConfigurationElement.getAttributeAsIs(PI_PACKAGE);
- String path = iConfigurationElement.getAttributeAsIs(PI_PATH);
- if (packageName != null && packageName.length() > 0 && path != null && path.length() > 0) {
- IPath packPath = new Path(packageName.replace('.', '/'));
- if (path.charAt(path.length()-1) != '/' && path.charAt(path.length()-1) != '\\')
- path += '/';
- String[] sofar = (String[]) overrideMap.get(packPath);
- if (sofar == null)
- sofar = new String[] {path};
- else {
- String[] old = sofar;
- sofar = new String[old.length+1];
- System.arraycopy(old, 0, sofar, 0, old.length);
- sofar[old.length] = path;
- }
- overrideMap.put(packPath, sofar);
- }
- }
- }
-
- // Now construct the arrays for this plugin
- int size = overrideMap.size();
- fragments[i] = new IPath[size];
- paths[i] = new String[size][];
- Iterator itr = overrideMap.entrySet().iterator();
- int ii=-1;
- while (itr.hasNext()) {
- Map.Entry entry = (Map.Entry) itr.next();
- fragments[i][++ii] = (IPath) entry.getKey();
- paths[i][ii] = (String[]) entry.getValue();
- }
- }
- }
-}
-
-
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoProperties.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoProperties.java
deleted file mode 100644
index e8d693ae1..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoProperties.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.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 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: BeaninfoProperties.java,v $
- * $Revision: 1.1 $ $Date: 2003/10/27 17:17:59 $
- */
-
-
-
-/**
- * Interface to NLS. Contains the keys used in the plugin.properties file.
- */
-
-public interface BeaninfoProperties {
- public static final String
- INTROSPECTFAILED = "%INTROSPECT_FAILED_EXC_ Introspection failed on class \"{0}.\""; //$NON-NLS-1$
-
-} \ No newline at end of file
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 15a239171..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoProxyConstants.java
+++ /dev/null
@@ -1,314 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.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 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: BeaninfoProxyConstants.java,v $
- * $Revision: 1.1 $ $Date: 2003/10/27 17:17:59 $
- */
-
-
-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.
- *
- * To gain access to these constants, use the static accessor
- * method "getConstants()" so that the instance is not created
- * until actually needed.
- */
-
-public final class BeaninfoProxyConstants {
-
- private static final String REGISTRY_KEY = "org.eclipse.jem.internal.beaninfo.adapters.BeaninfoProxyConstants:"; //$NON-NLS-1$
-
- final IBeanTypeProxy modelingBeaninfo;
- final IMethodProxy introspectProxy;
- final IMethodProxy getIsMergeInheritedPropertiesProxy;
- final IMethodProxy getIsMergeInheritedMethodsProxy;
- final IMethodProxy getIsMergeInheritedEventsProxy;
-
-
- final IMethodProxy getBeanInfoSearchPathProxy;
- final IMethodProxy setBeanInfoSearchPathProxy;
-
- final IMethodProxy getNameProxy;
- final IMethodProxy getDisplayNameProxy;
- final IMethodProxy getIsExpertProxy;
- final IMethodProxy getIsHiddenProxy;
- final IMethodProxy getIsPreferredProxy;
- final IMethodProxy getShortDescriptionProxy;
- final IMethodProxy getAttributeNamesProxy;
- final IMethodProxy getValueProxy;
-
- final IMethodProxy getBeanDescriptorProxy;
- final IMethodProxy getCustomizerClassProxy;
-
- final IMethodProxy getPropertyDescriptorsProxy;
- final IMethodProxy getInheritedPropertyDescriptorsProxy;
- final IMethodProxy getReadMethodProxy;
- final IMethodProxy getWriteMethodProxy;
- final IMethodProxy getPropertyTypeProxy;
- final IMethodProxy getIsBoundProxy;
- final IMethodProxy getIsConstrainedProxy;
- final IMethodProxy getPropertyEditorClassProxy;
-
- final IMethodProxy getIndexedReadMethodProxy;
- final IMethodProxy getIndexedWriteMethodProxy;
- final IMethodProxy getIndexedPropertyTypeProxy;
-
- final IMethodProxy getMethodDescriptorsProxy;
- final IMethodProxy getInheritedMethodDescriptorsProxy;
- final IMethodProxy getMethodProxy;
- final IMethodProxy getParameterDescriptorsProxy;
-
- final IMethodProxy getEventSetDescriptorsProxy;
- final IMethodProxy getInheritedEventSetDescriptorsProxy;
- final IMethodProxy getIsInDefaultEventSetProxy;
- final IMethodProxy getIsUnicastProxy;
- final IMethodProxy getAddListenerMethodProxy;
- final IMethodProxy getRemoveListenerMethodProxy;
- final IMethodProxy getListenerMethodDescriptorsProxy;
- final IMethodProxy getListenerTypeProxy;
-
-/**
- * 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;
-}
-
-
-public 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$
-
- modelingBeaninfo = typeFactory.getBeanTypeProxy("org.eclipse.jem.internal.beaninfo.vm.ModelingBeanInfo");//$NON-NLS-1$
- introspectProxy = modelingBeaninfo.getMethodProxy("introspect", new String[] {"java.lang.Class", "boolean"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- getBeanDescriptorProxy = modelingBeaninfo.getMethodProxy("getBeanDescriptor"); //$NON-NLS-1$
- getIsMergeInheritedMethodsProxy = modelingBeaninfo.getMethodProxy("isMergeInheritedMethods"); //$NON-NLS-1$
- getIsMergeInheritedPropertiesProxy = modelingBeaninfo.getMethodProxy("isMergeInheritedProperties"); //$NON-NLS-1$
- getIsMergeInheritedEventsProxy = modelingBeaninfo.getMethodProxy("isMergeInheritedEvents"); //$NON-NLS-1$
- getPropertyDescriptorsProxy = modelingBeaninfo.getMethodProxy("getPropertyDescriptors"); //$NON-NLS-1$
- getInheritedPropertyDescriptorsProxy = modelingBeaninfo.getMethodProxy("getInheritedPropertyDescriptors"); //$NON-NLS-1$
- getMethodDescriptorsProxy = modelingBeaninfo.getMethodProxy("getMethodDescriptors"); //$NON-NLS-1$
- getInheritedMethodDescriptorsProxy = modelingBeaninfo.getMethodProxy("getInheritedMethodDescriptors"); //$NON-NLS-1$
- getEventSetDescriptorsProxy = modelingBeaninfo.getMethodProxy("getEventSetDescriptors"); //$NON-NLS-1$
- getInheritedEventSetDescriptorsProxy = modelingBeaninfo.getMethodProxy("getInheritedEventSetDescriptors"); //$NON-NLS-1$
-
- IBeanTypeProxy featureDescriptor = typeFactory.getBeanTypeProxy("java.beans.FeatureDescriptor"); //$NON-NLS-1$
- getNameProxy = featureDescriptor.getMethodProxy("getName"); //$NON-NLS-1$
- getDisplayNameProxy = featureDescriptor.getMethodProxy("getDisplayName"); //$NON-NLS-1$
- getShortDescriptionProxy = featureDescriptor.getMethodProxy("getShortDescription"); //$NON-NLS-1$
- getIsExpertProxy = featureDescriptor.getMethodProxy("isExpert"); //$NON-NLS-1$
- getIsHiddenProxy = featureDescriptor.getMethodProxy("isHidden"); //$NON-NLS-1$
- getIsPreferredProxy = featureDescriptor.getMethodProxy("isPreferred"); //$NON-NLS-1$
- getAttributeNamesProxy = featureDescriptor.getMethodProxy("attributeNames"); //$NON-NLS-1$
- getValueProxy = featureDescriptor.getMethodProxy("getValue", "java.lang.String"); //$NON-NLS-1$ //$NON-NLS-2$
-
- getCustomizerClassProxy = typeFactory.getBeanTypeProxy("java.beans.BeanDescriptor").getMethodProxy("getCustomizerClass"); //$NON-NLS-1$ //$NON-NLS-2$
-
- IBeanTypeProxy propertyDescriptor = typeFactory.getBeanTypeProxy("java.beans.PropertyDescriptor"); //$NON-NLS-1$
- getReadMethodProxy = propertyDescriptor.getMethodProxy("getReadMethod"); //$NON-NLS-1$
- getWriteMethodProxy = propertyDescriptor.getMethodProxy("getWriteMethod"); //$NON-NLS-1$
- getPropertyTypeProxy = propertyDescriptor.getMethodProxy("getPropertyType"); //$NON-NLS-1$
- getIsBoundProxy = propertyDescriptor.getMethodProxy("isBound"); //$NON-NLS-1$
- getIsConstrainedProxy = propertyDescriptor.getMethodProxy("isConstrained"); //$NON-NLS-1$
- getPropertyEditorClassProxy = propertyDescriptor.getMethodProxy("getPropertyEditorClass"); //$NON-NLS-1$
-
- IBeanTypeProxy indexedPropertyDescriptor = typeFactory.getBeanTypeProxy("java.beans.IndexedPropertyDescriptor"); //$NON-NLS-1$
- getIndexedReadMethodProxy = indexedPropertyDescriptor.getMethodProxy("getIndexedReadMethod"); //$NON-NLS-1$
- getIndexedWriteMethodProxy = indexedPropertyDescriptor.getMethodProxy("getIndexedWriteMethod"); //$NON-NLS-1$
- getIndexedPropertyTypeProxy = indexedPropertyDescriptor.getMethodProxy("getIndexedPropertyType"); //$NON-NLS-1$
-
- IBeanTypeProxy methodDescriptor = typeFactory.getBeanTypeProxy("java.beans.MethodDescriptor"); //$NON-NLS-1$
- getMethodProxy = methodDescriptor.getMethodProxy("getMethod"); //$NON-NLS-1$
- getParameterDescriptorsProxy = methodDescriptor.getMethodProxy("getParameterDescriptors"); //$NON-NLS-1$
-
- IBeanTypeProxy eventSetDescriptor = typeFactory.getBeanTypeProxy("java.beans.EventSetDescriptor"); //$NON-NLS-1$
- getIsInDefaultEventSetProxy = eventSetDescriptor.getMethodProxy("isInDefaultEventSet"); //$NON-NLS-1$
- getIsUnicastProxy = eventSetDescriptor.getMethodProxy("isUnicast"); //$NON-NLS-1$
- getAddListenerMethodProxy = eventSetDescriptor.getMethodProxy("getAddListenerMethod"); //$NON-NLS-1$
- getRemoveListenerMethodProxy = eventSetDescriptor.getMethodProxy("getRemoveListenerMethod"); //$NON-NLS-1$
- getListenerMethodDescriptorsProxy = eventSetDescriptor.getMethodProxy("getListenerMethodDescriptors"); //$NON-NLS-1$
- getListenerTypeProxy = eventSetDescriptor.getMethodProxy("getListenerType"); //$NON-NLS-1$
-
-}
-
-public IMethodProxy getGetBeanInfoSearchPathProxy() {
- return getBeanInfoSearchPathProxy;
-}
-
-public IMethodProxy getSetBeanInfoSearchPathProxy() {
- return setBeanInfoSearchPathProxy;
-}
-
-public IBeanTypeProxy getModelingBeaninfoProxy() {
- return modelingBeaninfo;
-}
-
-public IMethodProxy getBeanDescriptorProxy() {
- return getBeanDescriptorProxy;
-}
-
-public IMethodProxy getIntrospectProxy() {
- return introspectProxy;
-}
-
-public IMethodProxy getNameProxy() {
- return getNameProxy;
-}
-
-public IMethodProxy getDisplayNameProxy() {
- return getDisplayNameProxy;
-}
-
-public IMethodProxy getShortDescriptionProxy() {
- return getShortDescriptionProxy;
-}
-
-public IMethodProxy getAttributeNamesProxy() {
- return getAttributeNamesProxy;
-}
-
-public IMethodProxy getValueProxy() {
- return getValueProxy;
-}
-
-public IMethodProxy getIsExpertProxy() {
- return getIsExpertProxy;
-}
-
-public IMethodProxy getIsHiddenProxy() {
- return getIsHiddenProxy;
-}
-
-public IMethodProxy getIsPreferredProxy() {
- return getIsPreferredProxy;
-}
-
-
-public IMethodProxy getCustomizerClassProxy() {
- return getCustomizerClassProxy;
-}
-
-public IMethodProxy getIsMergeInheritedMethodsProxy() {
- return getIsMergeInheritedMethodsProxy;
-}
-
-public IMethodProxy getIsMergeInheritedPropertiesProxy() {
- return getIsMergeInheritedPropertiesProxy;
-}
-
-public IMethodProxy getIsMergeInheritedEventsProxy() {
- return getIsMergeInheritedEventsProxy;
-}
-
-public IMethodProxy getPropertyDescriptorsProxy() {
- return getPropertyDescriptorsProxy;
-}
-
-public IMethodProxy getInheritedPropertyDescriptorsProxy() {
- return getInheritedPropertyDescriptorsProxy;
-}
-
-public IMethodProxy getReadMethodProxy() {
- return getReadMethodProxy;
-}
-
-public IMethodProxy getWriteMethodProxy() {
- return getWriteMethodProxy;
-}
-
-public IMethodProxy getPropertyTypeProxy() {
- return getPropertyTypeProxy;
-}
-
-public IMethodProxy getIsBoundProxy() {
- return getIsBoundProxy;
-}
-
-public IMethodProxy getIsConstrainedProxy() {
- return getIsConstrainedProxy;
-}
-
-public IMethodProxy getPropertyEditorClassProxy() {
- return getPropertyEditorClassProxy;
-}
-
-public IMethodProxy getIndexedReadMethodProxy() {
- return getIndexedReadMethodProxy;
-}
-
-public IMethodProxy getIndexedWriteMethodProxy() {
- return getIndexedWriteMethodProxy;
-}
-
-public IMethodProxy getIndexedPropertyTypeProxy() {
- return getIndexedPropertyTypeProxy;
-}
-
-public IMethodProxy getMethodDescriptorsProxy() {
- return getMethodDescriptorsProxy;
-}
-
-public IMethodProxy getInheritedMethodDescriptorsProxy() {
- return getInheritedMethodDescriptorsProxy;
-}
-
-public IMethodProxy getMethodProxy() {
- return getMethodProxy;
-}
-
-public IMethodProxy getParameterDescriptorsProxy() {
- return getParameterDescriptorsProxy;
-}
-
-public IMethodProxy getEventSetDescriptorsProxy() {
- return getEventSetDescriptorsProxy;
-}
-
-public IMethodProxy getInheritedEventSetDescriptorsProxy() {
- return getInheritedEventSetDescriptorsProxy;
-}
-
-public IMethodProxy getIsInDefaultEventSetProxy() {
- return getIsInDefaultEventSetProxy;
-}
-
-public IMethodProxy getIsUnicastProxy() {
- return getIsUnicastProxy;
-}
-
-public IMethodProxy getAddListenerMethodProxy() {
- return getAddListenerMethodProxy;
-}
-
-public IMethodProxy getRemoveListenerMethodProxy() {
- return getRemoveListenerMethodProxy;
-}
-
-public IMethodProxy getListenerMethodDescriptorsProxy() {
- return getListenerMethodDescriptorsProxy;
-}
-
-public IMethodProxy getListenerTypeProxy() {
- return getListenerTypeProxy;
-}
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoRegistration.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoRegistration.java
deleted file mode 100644
index ba8c37617..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoRegistration.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.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 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: BeaninfoRegistration.java,v $
- * $Revision: 1.1 $ $Date: 2003/10/27 17:17:59 $
- */
-
-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/adapters/BeaninfoSearchPathEntry.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoSearchPathEntry.java
deleted file mode 100644
index 550cc0b59..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoSearchPathEntry.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.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 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: BeaninfoSearchPathEntry.java,v $
- * $Revision: 1.1 $ $Date: 2003/10/27 17:17:59 $
- */
-
-
-import org.w3c.dom.*;
-/**
- * Entry of search path for beaninfo.
- * *package* because it is for old format and should not be used outside of this package.
- */
-
-class BeaninfoSearchPathEntry {
- protected String fPackageName; // Name of package that this entry references
-
- /**
- * packageName.
- */
- public BeaninfoSearchPathEntry(String packageName) {
- fPackageName = packageName;
- }
-
- public String getPackageName() {
- return fPackageName;
- }
-
- /**
- * package protected so that only BeaninfoNature can call it. This is the
- * old format which is no longer being used. It is here to allow conversion
- * from Beta to GA.
- */
- private static final String sSearchPathEntryElementName = "pathEntry"; //$NON-NLS-1$
- private static final String sPackageElementName = "package"; //$NON-NLS-1$
- static BeaninfoSearchPathEntry readOldEntry(Node node) {
- if (node.getNodeType() == Node.ELEMENT_NODE) {
- Element beElement= (Element) node;
- if (beElement.getNodeName().equalsIgnoreCase(sSearchPathEntryElementName)) {
- String pkgName = beElement.getAttribute(sPackageElementName);
- return new BeaninfoSearchPathEntry(pkgName);
- }
- }
- return null;
- }
-
- public static BeaninfoSearchPathEntry readEntry(Node node) {
- if (node.getNodeType() == Node.ELEMENT_NODE) {
- Element beElement= (Element) node;
- if (beElement.getNodeName().equalsIgnoreCase(sSearchPathEntryElementName)) {
- String pkgName = beElement.getAttribute(sPackageElementName);
- return new BeaninfoSearchPathEntry(pkgName);
- }
- }
- return null;
- }
-
- public Element writeEntry(Document doc) {
- Element entry = doc.createElement(sSearchPathEntryElementName); // Create entry
- entry.setAttribute(sPackageElementName, getPackageName()); // Set the package name
- return entry;
- }
-
- public boolean equals(Object other) {
- if (this == other)
- return true;
-
- if (!(other instanceof BeaninfoSearchPathEntry))
- return false;
-
- BeaninfoSearchPathEntry otherEntry = (BeaninfoSearchPathEntry) other;
- return (fPackageName.equals(otherEntry.fPackageName));
- }
-} \ 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 f0602d254..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfoSuperAdapter.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.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 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: BeaninfoSuperAdapter.java,v $
- * $Revision: 1.2 $ $Date: 2004/01/13 16:17:00 $
- */
-
-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;
-
- 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 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__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/BeaninfosDoc.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfosDoc.java
deleted file mode 100644
index 0847370cc..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/BeaninfosDoc.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.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 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: BeaninfosDoc.java,v $
- * $Revision: 1.1 $ $Date: 2003/10/27 17:17:59 $
- */
-import java.util.ArrayList;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.w3c.dom.*;
-/**
- * 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;
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/ConfigurationElementReader.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/ConfigurationElementReader.java
deleted file mode 100644
index 9c9ce0cd1..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/ConfigurationElementReader.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.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 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: ConfigurationElementReader.java,v $
- * $Revision: 1.1 $ $Date: 2003/10/27 17:17:59 $
- */
-
-import java.lang.reflect.Array;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-
-/**
- * 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/adapters/DOMReader.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/DOMReader.java
deleted file mode 100644
index 9dfc1ede4..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/DOMReader.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.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 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: DOMReader.java,v $
- * $Revision: 1.1 $ $Date: 2003/10/27 17:17:59 $
- */
-
-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).getAttribute(attributeName) : null;
- }
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/IBeaninfoSupplier.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/IBeaninfoSupplier.java
deleted file mode 100644
index 75011b3bb..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/IBeaninfoSupplier.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.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 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: IBeaninfoSupplier.java,v $
- * $Revision: 1.1 $ $Date: 2003/10/27 17:17:59 $
- */
-
-
-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();
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/IBeaninfosDocEntry.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/IBeaninfosDocEntry.java
deleted file mode 100644
index 8055c346a..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/IBeaninfosDocEntry.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.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 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: IBeaninfosDocEntry.java,v $
- * $Revision: 1.1 $ $Date: 2003/10/27 17:17:59 $
- */
-
-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/adapters/IReader.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/IReader.java
deleted file mode 100644
index 4d3722b9b..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/IReader.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.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 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: IReader.java,v $
- * $Revision: 1.1 $ $Date: 2003/10/27 17:17:59 $
- */
-/**
- * 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
- * @author
- */
-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/Init.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/Init.java
deleted file mode 100644
index da0cf7b14..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/Init.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.adapters;
-/*******************************************************************************
- * Copyright (c) 2003 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: Init.java,v $
- * $Revision: 1.1 $ $Date: 2003/10/27 17:17:59 $
- */
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-
-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);
- }
-
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/SearchpathEntry.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/SearchpathEntry.java
deleted file mode 100644
index a51173977..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/SearchpathEntry.java
+++ /dev/null
@@ -1,178 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.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 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: SearchpathEntry.java,v $
- * $Revision: 1.1 $ $Date: 2003/10/27 17:17:59 $
- */
-
-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.*;
-
-/**
- * Searchpath entry. Beaninfo searchpath entry (i.e. package name). Can include
- * kind/path/exported if not a child of the BeaninfoEntry.
- *
- * @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);
- // ensure path is absolute
- IPath path = new Path(pathStr);
- int kind = BeaninfoEntry.kindFromString(elementKind);
- if (kind != IClasspathEntry.CPE_VARIABLE && !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.isAbsolute();
- 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())) {
- // another project
- kind = IClasspathEntry.CPE_PROJECT;
- }
- }
- break;
-
- case IClasspathEntry.CPE_VARIABLE :
- 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) {
- // 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;
- }
-
-} \ No newline at end of file
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 934ea7197..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/SpecialResourceSet.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.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 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: SpecialResourceSet.java,v $
- * $Revision: 1.2 $ $Date: 2004/01/13 16:17:00 $
- */
-
-import org.eclipse.wtp.internal.emf.workbench.ProjectResourceSetImpl;
-import org.eclipse.wtp.emf.workbench.plugin.EMFWorkbenchPlugin;
-
-/**
- * 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);
- EMFWorkbenchPlugin.getSharedCache().stopListening(this); // We don't care about listening.
- }
-
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/Utilities.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/Utilities.java
deleted file mode 100644
index 44a3dc31e..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/adapters/Utilities.java
+++ /dev/null
@@ -1,458 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.adapters;
-/*******************************************************************************
- * Copyright (c) 2003 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: Utilities.java,v $
- * $Revision: 1.2 $ $Date: 2004/01/13 16:17:00 $
- */
-import java.lang.reflect.InvocationTargetException;
-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.java.*;
-import org.eclipse.jem.java.JavaURL;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jem.internal.java.adapters.ReflectionAdaptor;
-import org.eclipse.jem.internal.proxy.core.*;
-
-/**
- * Beaninfo (introspection) utilities methods
- */
-
-public final class Utilities {
-
- private static final java.lang.reflect.Method sSignatureToString;
- static {
- // If in the workbench, we want to use the Signature.toString(type) method
- // to convert array arguments. However, we may not be in workbench, so we
- // need to use reflection.
- java.lang.reflect.Method ssig = null;
- try {
- Class signature = Class.forName("org.eclipse.jdt.core.Signature"); //$NON-NLS-1$
- ssig = signature.getMethod("toString", new Class[] { String.class }); //$NON-NLS-1$
- } catch (ClassNotFoundException e) {
- } catch (NoSuchMethodException e) {
- }
-
- sSignatureToString = ssig;
- }
-
- private Utilities() {
- }
-
- /**
- * Utility to return the EClassifier from the given name. (EClassifier because
- * it could return either a JavaDataType or a JavaClass).
- */
- public static JavaHelpers getJavaClass(String className, ResourceSet rset) {
- return (JavaHelpers) rset.getEObject(URI.createURI((new JavaURL(className)).getFullString()), true);
- }
-
- /**
- * Utility to return the EClassifier from the given IBeanTypeProxy.
- */
- public static EClassifier getJavaClass(IBeanTypeProxy type, ResourceSet rset) {
- if (type != null) {
- String typeName = null;
- if (!type.isArray())
- typeName = type.getTypeName();
- else {
- typeName = ((IArrayBeanTypeProxy) type).getFinalComponentType().getTypeName();
- int dim = ((IArrayBeanTypeProxy) type).getDimensions();
- while (dim-- > 0)
- typeName = typeName.concat("[]"); //$NON-NLS-1$
- }
- return getJavaClass(typeName, 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();
- int classStart = className.lastIndexOf('.');
- StringBuffer url = new StringBuffer(50);
- url.append("java:/"); //$NON-NLS-1$
- if (classStart > -1)
- url.append(className.substring(0, classStart));
- url.append('#');
- IBeanTypeProxy[] parms = method.getParameterTypes();
- String[] parmTypes = new String[parms.length];
- for (int i = 0; i < parmTypes.length; i++) {
- IBeanTypeProxy ptype = parms[i];
- if (!ptype.isArray() || sSignatureToString == null)
- parmTypes[i] = parms[i].getTypeName();
- else {
- // It is an array and we are in the workbench. Need to converty [I to int[]
- try {
- parmTypes[i] = (String) sSignatureToString.invoke(null, new Object[] { ptype.getTypeName()});
- } catch (IllegalArgumentException e) {
- } catch (IllegalAccessException e) {
- } catch (InvocationTargetException e) {
- }
- }
- }
- url.append(computeMethodID(className.substring(classStart + 1), method.getName(), parmTypes));
- return url.toString();
- }
-
- /**
- * 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);
- 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) {
- }
- };
-
-} \ No newline at end of file
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 68052565d..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/BeanDecoratorImpl.java
+++ /dev/null
@@ -1,983 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.impl;
-/*******************************************************************************
- * 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 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: BeanDecoratorImpl.java,v $
- * $Revision: 1.2 $ $Date: 2004/01/13 16:17:00 $
- */
-
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Collection;
-import java.util.Iterator;
-
-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.BeanDecorator;
-import org.eclipse.jem.internal.beaninfo.BeaninfoPackage;
-import org.eclipse.jem.internal.beaninfo.FeatureAttributeValue;
-import org.eclipse.jem.internal.beaninfo.adapters.BeaninfoProxyConstants;
-import org.eclipse.jem.internal.beaninfo.adapters.Utilities;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.internal.proxy.core.IBeanTypeProxy;
-import org.eclipse.jem.internal.proxy.core.IStringBeanProxy;
-import org.eclipse.jem.internal.proxy.core.ThrowableProxy;
-/**
- * <!-- 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#isMergeSuperBehaviors <em>Merge Super Behaviors</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#isIntrospectBehaviors <em>Introspect Behaviors</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#getCustomizerClass <em>Customizer Class</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-
-
-public class BeanDecoratorImpl extends FeatureDecoratorImpl implements BeanDecorator{
- /**
- * 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;
-
- private Boolean mergeSuperPropertiesProxy;
- private Boolean mergeSuperBehaviorsProxy;
- private Boolean mergeSuperEventsProxy;
-
- /**
- * 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 #isMergeSuperBehaviors() <em>Merge Super Behaviors</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isMergeSuperBehaviors()
- * @generated
- * @ordered
- */
- protected static final boolean MERGE_SUPER_BEHAVIORS_EDEFAULT = true;
-
- /**
- * The cached value of the '{@link #isMergeSuperBehaviors() <em>Merge Super Behaviors</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isMergeSuperBehaviors()
- * @generated
- * @ordered
- */
- protected boolean mergeSuperBehaviors = MERGE_SUPER_BEHAVIORS_EDEFAULT;
- /**
- * This is true if the Merge Super Behaviors attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean mergeSuperBehaviorsESet = 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 #isIntrospectBehaviors() <em>Introspect Behaviors</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isIntrospectBehaviors()
- * @generated
- * @ordered
- */
- protected static final boolean INTROSPECT_BEHAVIORS_EDEFAULT = true;
-
- /**
- * The cached value of the '{@link #isIntrospectBehaviors() <em>Introspect Behaviors</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isIntrospectBehaviors()
- * @generated
- * @ordered
- */
- protected boolean introspectBehaviors = INTROSPECT_BEHAVIORS_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 #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();
- }
-
- /**
- * Should the properties of super types be merged when asking for eAllAttributes//eAllReferences.
- */
- public boolean isMergeSuperProperties() {
- if (mergeSuperPropertiesProxy != null && !this.isSetMergeSuperProperties())
- return mergeSuperPropertiesProxy.booleanValue();
- else
- return this.isMergeSuperPropertiesGen();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isMergeSuperPropertiesGen() {
- return mergeSuperProperties;
- }
-
- public JavaClass getCustomizerClass() {
- if (validProxy(fFeatureProxy) && !this.eIsSet(BeaninfoPackage.eINSTANCE.getBeanDecorator_CustomizerClass()))
- try {
- return (JavaClass) Utilities.getJavaClass((IBeanTypeProxy) BeaninfoProxyConstants.getConstants(fFeatureProxy.getProxyFactoryRegistry()).getCustomizerClassProxy().invoke(fFeatureProxy), getEModelElement().eResource().getResourceSet());
- } catch (ThrowableProxy e) {
- };
-
- return this.getCustomizerClassGen();
- }
-
- /**
- * Set merge super properties proxy. This can't be answered from the BeanDescriptor proxy,
- * so it must be explicitly set from the beaninfo class adapter.
- */
- public void setMergeSuperPropertiesProxy(Boolean bool) {
- mergeSuperPropertiesProxy = bool;
- }
-
-
-
- /**
- * <!-- 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;
- }
-
- /**
- * Should the behaviors of super types be merged when asking for eAllBehaviors.
- */
- public boolean isMergeSuperBehaviors() {
- if (mergeSuperBehaviorsProxy != null && !this.isSetMergeSuperBehaviors())
- return mergeSuperBehaviorsProxy.booleanValue();
- else
- return this.isMergeSuperBehaviorsGen();
-
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isMergeSuperBehaviorsGen() {
- return mergeSuperBehaviors;
- }
-
- /**
- * Set merge super behaviors proxy. This can't be answered from the BeanDescriptor proxy,
- * so it must be explicitly set from the beaninfo class adapter.
- */
- public void setMergeSuperBehaviorsProxy(Boolean bool) {
- mergeSuperBehaviorsProxy = bool;
- }
-
-
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setMergeSuperBehaviors(boolean newMergeSuperBehaviors) {
- boolean oldMergeSuperBehaviors = mergeSuperBehaviors;
- mergeSuperBehaviors = newMergeSuperBehaviors;
- boolean oldMergeSuperBehaviorsESet = mergeSuperBehaviorsESet;
- mergeSuperBehaviorsESet = true;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.BEAN_DECORATOR__MERGE_SUPER_BEHAVIORS, oldMergeSuperBehaviors, mergeSuperBehaviors, !oldMergeSuperBehaviorsESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetMergeSuperBehaviors() {
- boolean oldMergeSuperBehaviors = mergeSuperBehaviors;
- boolean oldMergeSuperBehaviorsESet = mergeSuperBehaviorsESet;
- mergeSuperBehaviors = MERGE_SUPER_BEHAVIORS_EDEFAULT;
- mergeSuperBehaviorsESet = false;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.UNSET, BeaninfoPackage.BEAN_DECORATOR__MERGE_SUPER_BEHAVIORS, oldMergeSuperBehaviors, MERGE_SUPER_BEHAVIORS_EDEFAULT, oldMergeSuperBehaviorsESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetMergeSuperBehaviors() {
- return mergeSuperBehaviorsESet;
- }
-
- /**
- * Should the events of super types be merged when asking for eAllEvents.
- */
- public boolean isMergeSuperEvents() {
- if (mergeSuperEventsProxy != null && !this.isSetMergeSuperEvents())
- return mergeSuperEventsProxy.booleanValue();
- else
- return this.isMergeSuperEventsGen();
-
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isMergeSuperEventsGen() {
- return mergeSuperEvents;
- }
-
- /**
- * Set merge super events proxy. This can't be answered from the BeanDescriptor proxy,
- * so it must be explicitly set from the beaninfo class adapter.
- */
- public void setMergeSuperEventsProxy(Boolean bool) {
- mergeSuperEventsProxy = bool;
- }
-
-
- /**
- * <!-- 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 isIntrospectBehaviors() {
- return introspectBehaviors;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setIntrospectBehaviors(boolean newIntrospectBehaviors) {
- boolean oldIntrospectBehaviors = introspectBehaviors;
- introspectBehaviors = newIntrospectBehaviors;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.BEAN_DECORATOR__INTROSPECT_BEHAVIORS, oldIntrospectBehaviors, introspectBehaviors));
- }
-
- /**
- * <!-- 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 ((InternalEObject)eContainer).eInverseRemove(this, EcorePackage.EMODEL_ELEMENT__EANNOTATIONS, EModelElement.class, msgs);
- default:
- return eDynamicBasicRemoveFromContainer(msgs);
- }
- }
- return ((InternalEObject)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:
- return isAttributesExplicit() ? Boolean.TRUE : Boolean.FALSE;
- 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_BEHAVIORS:
- return isMergeSuperBehaviors() ? 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_BEHAVIORS:
- return isIntrospectBehaviors() ? 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__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:
- setAttributesExplicit(((Boolean)newValue).booleanValue());
- 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_BEHAVIORS:
- setMergeSuperBehaviors(((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_BEHAVIORS:
- setIntrospectBehaviors(((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__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:
- setAttributesExplicit(ATTRIBUTES_EXPLICIT_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_BEHAVIORS:
- unsetMergeSuperBehaviors();
- 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_BEHAVIORS:
- setIntrospectBehaviors(INTROSPECT_BEHAVIORS_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__CUSTOMIZER_CLASS:
- setCustomizerClass((JavaClass)null);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(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:
- return attributesExplicit != ATTRIBUTES_EXPLICIT_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_BEHAVIORS:
- return isSetMergeSuperBehaviors();
- 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_BEHAVIORS:
- return introspectBehaviors != INTROSPECT_BEHAVIORS_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__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(", mergeSuperBehaviors: ");
- if (mergeSuperBehaviorsESet) result.append(mergeSuperBehaviors); else result.append("<unset>");
- result.append(", mergeSuperEvents: ");
- if (mergeSuperEventsESet) result.append(mergeSuperEvents); else result.append("<unset>");
- result.append(", introspectProperties: ");
- result.append(introspectProperties);
- result.append(", introspectBehaviors: ");
- result.append(introspectBehaviors);
- result.append(", introspectEvents: ");
- result.append(introspectEvents);
- result.append(", doBeaninfo: ");
- result.append(doBeaninfo);
- result.append(')');
- return result.toString();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public JavaClass getCustomizerClassGen() {
- 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;
- }
-
- /**
- * <!-- 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));
- }
-
- private URL iconURL;
- private boolean hasQueriedIconURL;
- public URL getIconURL(){
- if (!hasQueriedIconURL){
- Iterator featureAttributeValues = getAttributes().iterator();
- while(featureAttributeValues.hasNext()){
- FeatureAttributeValue value = (FeatureAttributeValue) featureAttributeValues.next();
- if (value.getName().equals("ICON_COLOR_16x16_URL")){ //$NON-NLS-1$
- // Get the value
- String urlString = ((IStringBeanProxy)value.getValueProxy()).stringValue();
- try {
- hasQueriedIconURL = true;
- iconURL = new URL(urlString);
- } catch ( MalformedURLException exc ) {
- // TODO Log correctly
- exc.printStackTrace();
- }
- break;
- }
- }
- }
- 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 28dc34476..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/BeanEventImpl.java
+++ /dev/null
@@ -1,314 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.impl;
-/*******************************************************************************
- * 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 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: BeanEventImpl.java,v $
- * $Revision: 1.2 $ $Date: 2004/01/13 16:17:00 $
- */
-
-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 ((InternalEObject)eContainer).eInverseRemove(this, EcorePackage.ECLASS__ESTRUCTURAL_FEATURES, EClass.class, msgs);
- default:
- return eDynamicBasicRemoveFromContainer(msgs);
- }
- }
- return ((InternalEObject)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 ordered != ORDERED_EDEFAULT;
- case BeaninfoPackage.BEAN_EVENT__UNIQUE:
- return unique != 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() != false;
- case BeaninfoPackage.BEAN_EVENT__REQUIRED:
- return isRequired() != false;
- case BeaninfoPackage.BEAN_EVENT__ETYPE:
- return eType != null;
- case BeaninfoPackage.BEAN_EVENT__CHANGEABLE:
- return changeable != CHANGEABLE_EDEFAULT;
- case BeaninfoPackage.BEAN_EVENT__VOLATILE:
- return volatile_ != VOLATILE_EDEFAULT;
- case BeaninfoPackage.BEAN_EVENT__TRANSIENT:
- return transient_ != 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 getDefaultValue() != null;
- case BeaninfoPackage.BEAN_EVENT__UNSETTABLE:
- return unsettable != UNSETTABLE_EDEFAULT;
- case BeaninfoPackage.BEAN_EVENT__DERIVED:
- return derived != 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 3b9b4edc2..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/BeaninfoFactoryImpl.java
+++ /dev/null
@@ -1,183 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.impl;
-/*******************************************************************************
- * 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 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: BeaninfoFactoryImpl.java,v $
- * $Revision: 1.2 $ $Date: 2004/01/13 16:17:00 $
- */
-
-import org.eclipse.jem.internal.beaninfo.*;
-
-import org.eclipse.emf.ecore.EClass;
-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 and 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.FEATURE_ATTRIBUTE_VALUE: return createFeatureAttributeValue();
- 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();
- default:
- throw new IllegalArgumentException("The class '" + eClass.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 FeatureAttributeValue createFeatureAttributeValue() {
- FeatureAttributeValueImpl featureAttributeValue = new FeatureAttributeValueImpl();
- return featureAttributeValue;
- }
-
- /**
- * <!-- 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;
- }
-
-}
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 6e46a1edb..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/BeaninfoPackageImpl.java
+++ /dev/null
@@ -1,855 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.impl;
-/*******************************************************************************
- * 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 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: BeaninfoPackageImpl.java,v $
- * $Revision: 1.2 $ $Date: 2004/01/13 16:17:00 $
- */
-
-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.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.FeatureAttributeValue;
-import org.eclipse.jem.internal.beaninfo.FeatureDecorator;
-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.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 featureAttributeValueEClass = 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;
-
- /**
- * 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.get(BeaninfoPackage.eNS_URI);
-
- // Obtain or create and register package.
- BeaninfoPackageImpl theBeaninfoPackage = (BeaninfoPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof EPackage ? EPackage.Registry.INSTANCE.get(eNS_URI) : new BeaninfoPackageImpl());
-
- isInited = true;
-
- // Initialize simple dependencies
- JavaRefPackageImpl.init();
- EcorePackageImpl.init();
-
- // Obtain or create and register interdependencies
-
- // Step 1: create meta-model objects
- theBeaninfoPackage.createPackageContents();
-
- // Step 2: complete initialization
- theBeaninfoPackage.initializePackageContents();
-
- 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 EReference getFeatureDecorator_Attributes() {
- return (EReference)featureDecoratorEClass.getEStructuralFeatures().get(8);
- }
-
- /**
- * <!-- 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 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 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 EReference getPropertyDecorator_PropertyEditorClass() {
- return (EReference)propertyDecoratorEClass.getEStructuralFeatures().get(5);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getPropertyDecorator_ReadMethod() {
- return (EReference)propertyDecoratorEClass.getEStructuralFeatures().get(6);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getPropertyDecorator_WriteMethod() {
- return (EReference)propertyDecoratorEClass.getEStructuralFeatures().get(7);
- }
-
- /**
- * <!-- 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_MergeSuperBehaviors() {
- 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_IntrospectBehaviors() {
- 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(7);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getMethodDecorator() {
- return methodDecoratorEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getMethodDecorator_ParmsExplicit() {
- 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 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 EClass getFeatureAttributeValue() {
- return featureAttributeValueEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getFeatureAttributeValue_Name() {
- return (EAttribute)featureAttributeValueEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getFeatureAttributeValue_Value() {
- return (EReference)featureAttributeValueEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- 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);
- createEReference(featureDecoratorEClass, FEATURE_DECORATOR__ATTRIBUTES);
-
- featureAttributeValueEClass = createEClass(FEATURE_ATTRIBUTE_VALUE);
- createEAttribute(featureAttributeValueEClass, FEATURE_ATTRIBUTE_VALUE__NAME);
- createEReference(featureAttributeValueEClass, FEATURE_ATTRIBUTE_VALUE__VALUE);
- createEAttribute(featureAttributeValueEClass, FEATURE_ATTRIBUTE_VALUE__VALUE_PROXY);
-
- beanDecoratorEClass = createEClass(BEAN_DECORATOR);
- createEAttribute(beanDecoratorEClass, BEAN_DECORATOR__MERGE_SUPER_PROPERTIES);
- createEAttribute(beanDecoratorEClass, BEAN_DECORATOR__MERGE_SUPER_BEHAVIORS);
- createEAttribute(beanDecoratorEClass, BEAN_DECORATOR__MERGE_SUPER_EVENTS);
- createEAttribute(beanDecoratorEClass, BEAN_DECORATOR__INTROSPECT_PROPERTIES);
- createEAttribute(beanDecoratorEClass, BEAN_DECORATOR__INTROSPECT_BEHAVIORS);
- createEAttribute(beanDecoratorEClass, BEAN_DECORATOR__INTROSPECT_EVENTS);
- createEAttribute(beanDecoratorEClass, BEAN_DECORATOR__DO_BEANINFO);
- 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);
- 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);
-
- methodDecoratorEClass = createEClass(METHOD_DECORATOR);
- createEAttribute(methodDecoratorEClass, METHOD_DECORATOR__PARMS_EXPLICIT);
- createEReference(methodDecoratorEClass, METHOD_DECORATOR__PARAMETER_DESCRIPTORS);
-
- 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);
- createEReference(propertyDecoratorEClass, PROPERTY_DECORATOR__PROPERTY_EDITOR_CLASS);
- createEReference(propertyDecoratorEClass, PROPERTY_DECORATOR__READ_METHOD);
- createEReference(propertyDecoratorEClass, PROPERTY_DECORATOR__WRITE_METHOD);
-
- 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);
- }
-
- /**
- * <!-- 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);
- initEAttribute(getFeatureDecorator_DisplayName(), ecorePackage.getEString(), "displayName", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
- initEAttribute(getFeatureDecorator_ShortDescription(), ecorePackage.getEString(), "shortDescription", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
- initEAttribute(getFeatureDecorator_Category(), ecorePackage.getEString(), "category", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
- initEAttribute(getFeatureDecorator_Expert(), ecorePackage.getEBoolean(), "expert", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
- initEAttribute(getFeatureDecorator_Hidden(), ecorePackage.getEBoolean(), "hidden", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
- initEAttribute(getFeatureDecorator_Preferred(), ecorePackage.getEBoolean(), "preferred", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
- initEAttribute(getFeatureDecorator_MergeIntrospection(), ecorePackage.getEBoolean(), "mergeIntrospection", "true", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
- initEAttribute(getFeatureDecorator_AttributesExplicit(), ecorePackage.getEBoolean(), "attributesExplicit", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
- initEReference(getFeatureDecorator_Attributes(), this.getFeatureAttributeValue(), null, "attributes", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
- addEOperation(featureDecoratorEClass, ecorePackage.getEString(), "getName");
-
- initEClass(featureAttributeValueEClass, FeatureAttributeValue.class, "FeatureAttributeValue", !IS_ABSTRACT, !IS_INTERFACE);
- initEAttribute(getFeatureAttributeValue_Name(), ecorePackage.getEString(), "name", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
- initEReference(getFeatureAttributeValue_Value(), theEcorePackage.getEObject(), null, "value", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
- initEAttribute(getFeatureAttributeValue_ValueProxy(), theEcorePackage.getEJavaObject(), "valueProxy", null, 0, 1, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
-
- initEClass(beanDecoratorEClass, BeanDecorator.class, "BeanDecorator", !IS_ABSTRACT, !IS_INTERFACE);
- initEAttribute(getBeanDecorator_MergeSuperProperties(), ecorePackage.getEBoolean(), "mergeSuperProperties", "true", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
- initEAttribute(getBeanDecorator_MergeSuperBehaviors(), ecorePackage.getEBoolean(), "mergeSuperBehaviors", "true", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
- initEAttribute(getBeanDecorator_MergeSuperEvents(), ecorePackage.getEBoolean(), "mergeSuperEvents", "true", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
- initEAttribute(getBeanDecorator_IntrospectProperties(), ecorePackage.getEBoolean(), "introspectProperties", "true", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
- initEAttribute(getBeanDecorator_IntrospectBehaviors(), ecorePackage.getEBoolean(), "introspectBehaviors", "true", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
- initEAttribute(getBeanDecorator_IntrospectEvents(), ecorePackage.getEBoolean(), "introspectEvents", "true", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
- initEAttribute(getBeanDecorator_DoBeaninfo(), ecorePackage.getEBoolean(), "doBeaninfo", "true", 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
- initEReference(getBeanDecorator_CustomizerClass(), theJavaRefPackage.getJavaClass(), null, "customizerClass", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
- initEClass(eventSetDecoratorEClass, EventSetDecorator.class, "EventSetDecorator", !IS_ABSTRACT, !IS_INTERFACE);
- initEAttribute(getEventSetDecorator_InDefaultEventSet(), ecorePackage.getEBoolean(), "inDefaultEventSet", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
- initEAttribute(getEventSetDecorator_Unicast(), ecorePackage.getEBoolean(), "unicast", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
- initEAttribute(getEventSetDecorator_ListenerMethodsExplicit(), ecorePackage.getEBoolean(), "listenerMethodsExplicit", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
- initEReference(getEventSetDecorator_AddListenerMethod(), theJavaRefPackage.getMethod(), null, "addListenerMethod", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
- initEReference(getEventSetDecorator_ListenerMethods(), this.getMethodProxy(), null, "listenerMethods", null, 1, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
- initEReference(getEventSetDecorator_ListenerType(), theJavaRefPackage.getJavaClass(), null, "listenerType", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
- initEReference(getEventSetDecorator_RemoveListenerMethod(), theJavaRefPackage.getMethod(), null, "removeListenerMethod", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
- initEClass(methodDecoratorEClass, MethodDecorator.class, "MethodDecorator", !IS_ABSTRACT, !IS_INTERFACE);
- initEAttribute(getMethodDecorator_ParmsExplicit(), ecorePackage.getEBoolean(), "parmsExplicit", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
- initEReference(getMethodDecorator_ParameterDescriptors(), this.getParameterDecorator(), null, "parameterDescriptors", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
- initEClass(parameterDecoratorEClass, ParameterDecorator.class, "ParameterDecorator", !IS_ABSTRACT, !IS_INTERFACE);
- initEAttribute(getParameterDecorator_Name(), ecorePackage.getEString(), "name", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
- initEReference(getParameterDecorator_Parameter(), theJavaRefPackage.getJavaParameter(), null, "parameter", null, 0, 1, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
- initEClass(propertyDecoratorEClass, PropertyDecorator.class, "PropertyDecorator", !IS_ABSTRACT, !IS_INTERFACE);
- initEAttribute(getPropertyDecorator_Bound(), ecorePackage.getEBoolean(), "bound", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
- initEAttribute(getPropertyDecorator_Constrained(), ecorePackage.getEBoolean(), "constrained", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
- initEAttribute(getPropertyDecorator_DesignTime(), ecorePackage.getEBoolean(), "designTime", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
- initEAttribute(getPropertyDecorator_AlwaysIncompatible(), ecorePackage.getEBoolean(), "alwaysIncompatible", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
- initEAttribute(getPropertyDecorator_FilterFlags(), ecorePackage.getEString(), "filterFlags", null, 0, -1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED);
- initEReference(getPropertyDecorator_PropertyEditorClass(), theJavaRefPackage.getJavaClass(), null, "propertyEditorClass", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
- initEReference(getPropertyDecorator_ReadMethod(), theJavaRefPackage.getMethod(), null, "readMethod", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
- initEReference(getPropertyDecorator_WriteMethod(), theJavaRefPackage.getMethod(), null, "writeMethod", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
- addEOperation(propertyDecoratorEClass, theEcorePackage.getEClassifier(), "getPropertyType");
-
- initEClass(indexedPropertyDecoratorEClass, IndexedPropertyDecorator.class, "IndexedPropertyDecorator", !IS_ABSTRACT, !IS_INTERFACE);
- initEReference(getIndexedPropertyDecorator_IndexedReadMethod(), theJavaRefPackage.getMethod(), null, "indexedReadMethod", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
- initEReference(getIndexedPropertyDecorator_IndexedWriteMethod(), theJavaRefPackage.getMethod(), null, "indexedWriteMethod", null, 0, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
- initEClass(methodProxyEClass, MethodProxy.class, "MethodProxy", !IS_ABSTRACT, !IS_INTERFACE);
- initEReference(getMethodProxy_Method(), theJavaRefPackage.getMethod(), null, "method", null, 1, 1, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED);
-
- initEClass(beanEventEClass, BeanEvent.class, "BeanEvent", !IS_ABSTRACT, !IS_INTERFACE);
-
- // 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 getFeatureAttributeValue_ValueProxy() {
- return (EAttribute)featureAttributeValueEClass.getEStructuralFeatures().get(2);
- }
-
- /**
- * <!-- 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 EAttribute getFeatureDecorator_AttributesExplicit() {
- return (EAttribute)featureDecoratorEClass.getEStructuralFeatures().get(7);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getBeanEvent() {
- return beanEventEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getEventSetDecorator_ListenerMethodsExplicit() {
- return (EAttribute)eventSetDecoratorEClass.getEStructuralFeatures().get(2);
- }
-
-}
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 9f5fb1eb5..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/EventSetDecoratorImpl.java
+++ /dev/null
@@ -1,962 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.impl;
-/*******************************************************************************
- * 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 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: EventSetDecoratorImpl.java,v $
- * $Revision: 1.3 $ $Date: 2004/01/13 21:11:59 $
- */
-
-
-import java.util.*;
-
-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.common.util.URI;
-import org.eclipse.emf.ecore.*;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.internal.beaninfo.*;
-import org.eclipse.jem.internal.beaninfo.adapters.BeaninfoProxyConstants;
-import org.eclipse.jem.internal.beaninfo.adapters.Utilities;
-import org.eclipse.jem.internal.proxy.core.*;
-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#isListenerMethodsExplicit <em>Listener Methods Explicit</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>
- * </ul>
- * </p>
- *
- * @generated
- */
-
-
-public class EventSetDecoratorImpl extends FeatureDecoratorImpl implements EventSetDecorator{
-
- /**
- * 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 #isListenerMethodsExplicit() <em>Listener Methods Explicit</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isListenerMethodsExplicit()
- * @generated
- * @ordered
- */
- protected static final boolean LISTENER_METHODS_EXPLICIT_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isListenerMethodsExplicit() <em>Listener Methods Explicit</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isListenerMethodsExplicit()
- * @generated
- * @ordered
- */
- protected boolean listenerMethodsExplicit = LISTENER_METHODS_EXPLICIT_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 #getListenerMethods() <em>Listener Methods</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getListenerMethods()
- * @generated
- * @ordered
- */
- protected EList listenerMethods = 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;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EventSetDecoratorImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return BeaninfoPackage.eINSTANCE.getEventSetDecorator();
- }
-
- public boolean isInDefaultEventSet() {
- if (!isSetInDefaultEventSet())
- if (validProxy(fFeatureProxy)) {
- try {
- return ((IBooleanBeanProxy) BeaninfoProxyConstants.getConstants(fFeatureProxy.getProxyFactoryRegistry()).getIsInDefaultEventSetProxy().invoke(fFeatureProxy)).booleanValue();
- } catch (ThrowableProxy e) {
- }
- }
-
- return this.isInDefaultEventSetGen();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isInDefaultEventSetGen() {
- 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;
- }
-
- public boolean isUnicast() {
- if (!isSetUnicast())
- if (validProxy(fFeatureProxy)) {
- try {
- return ((IBooleanBeanProxy) BeaninfoProxyConstants.getConstants(fFeatureProxy.getProxyFactoryRegistry()).getIsUnicastProxy().invoke(fFeatureProxy)).booleanValue();
- } catch (ThrowableProxy e) {
- }
- }
-
- return this.isUnicastGen();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isUnicastGen() {
- 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;
- }
-
- public Method getAddListenerMethod() {
- if (!eIsSet(BeaninfoPackage.eINSTANCE.getEventSetDecorator_AddListenerMethod()))
- if (validProxy(fFeatureProxy)) {
- try {
- return Utilities.getMethod((IMethodProxy) BeaninfoProxyConstants.getConstants(fFeatureProxy.getProxyFactoryRegistry()).getAddListenerMethodProxy().invoke(fFeatureProxy), getEModelElement().eResource().getResourceSet());
- } catch (ThrowableProxy e) {
- }
- }
-
- return this.getAddListenerMethodGen();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Method getAddListenerMethodGen() {
- 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));
- }
-
- protected boolean retrievedListenerMethods;
- protected boolean retrievedListenerMethodsSuccessful;
-
- public EList getListenerMethods() {
- if (!isListenerMethodsExplicit()) {
- if (validProxy(fFeatureProxy) && !retrievedListenerMethods) {
- retrievedListenerMethods = true;
- EList methodsList = this.getListenerMethodsGen();
- try {
- BeaninfoProxyConstants constants = BeaninfoProxyConstants.getConstants(fFeatureProxy.getProxyFactoryRegistry());
- IArrayBeanProxy methodDescs = (IArrayBeanProxy) constants.getListenerMethodDescriptorsProxy().invoke(fFeatureProxy);
- if (methodDescs != null) {
- ResourceSet rset = getEModelElement().eResource().getResourceSet();
- int methodDescsLength = methodDescs.getLength();
- BeaninfoFactory bfact = BeaninfoFactory.eINSTANCE;
- for (int i=0; i<methodDescsLength; i++) {
- IBeanProxy mthdDesc = methodDescs.get(i);
- // First find the Method from the descriptor
- URI uri = Utilities.getMethodURI((IMethodProxy) constants.getMethodProxy().invokeCatchThrowableExceptions(mthdDesc));
- Method method = (Method) rset.getEObject(uri, true); // In the V5 release, this poofs one up, even if it didn't exist, however, since we are getting one from the remote vm, if should exist here too.
- // 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.setImplicitlyCreated(IMPLICIT_DECORATOR_AND_FEATURE);
- md.setDescriptorProxy(mthdDesc);
- md.setEModelElement(mproxy);
- methodsList.add(mproxy);
- }
- retrievedListenerMethodsSuccessful = true;
- return methodsList;
- }
- } catch (ThrowableProxy e) {
- };
- }
-
- if (retrievedListenerMethodsSuccessful)
- return this.getListenerMethodsGen(); // Built once from proxy, use it always.
- else
- return createDefaultListenerMethodsList(); // Not explicit and not sucessful retrieval, use default.
- }
- return this.getListenerMethodsGen();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList getListenerMethodsGen() {
- if (listenerMethods == null) {
- listenerMethods = new EObjectContainmentEList(MethodProxy.class, this, BeaninfoPackage.EVENT_SET_DECORATOR__LISTENER_METHODS);
- }
- return listenerMethods;
- }
-
- /**
- * 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.
- */
- protected EList createDefaultListenerMethodsList() {
- EList mthdsList = this.getListenerMethodsGen();
- if (!eIsSet(EcorePackage.eINSTANCE.getEAnnotation_EModelElement()))
- return mthdsList; // We are not attached, can't determine the list yet.
-
- retrievedListenerMethods = retrievedListenerMethodsSuccessful = true;
- 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.
-
- 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.setImplicitlyCreated(IMPLICIT_DECORATOR_AND_FEATURE);
- md.setEModelElement(mproxy);
- mthdsList.add(mproxy);
- }
- return mthdsList;
- }
-
- public JavaClass getListenerType() {
- if (!eIsSet(BeaninfoPackage.eINSTANCE.getEventSetDecorator_ListenerType()))
- if (validProxy(fFeatureProxy)) {
- try {
- return (JavaClass) Utilities.getJavaClass((IBeanTypeProxy) BeaninfoProxyConstants.getConstants(fFeatureProxy.getProxyFactoryRegistry()).getListenerTypeProxy().invoke(fFeatureProxy), getEModelElement().eResource().getResourceSet());
- } catch (ThrowableProxy e) {
- }
- }
-
- return this.getListenerTypeGen();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public JavaClass getListenerTypeGen() {
- 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;
- }
-
- /**
- * <!-- 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));
- }
-
- public Method getRemoveListenerMethod() {
- if (!eIsSet(BeaninfoPackage.eINSTANCE.getEventSetDecorator_RemoveListenerMethod()))
- if (validProxy(fFeatureProxy)) {
- try {
- return Utilities.getMethod((IMethodProxy) BeaninfoProxyConstants.getConstants(fFeatureProxy.getProxyFactoryRegistry()).getRemoveListenerMethodProxy().invoke(fFeatureProxy), getEModelElement().eResource().getResourceSet());
- } catch (ThrowableProxy e) {
- }
- }
-
- return this.getRemoveListenerMethodGen();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Method getRemoveListenerMethodGen() {
- 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 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__LISTENER_METHODS:
- return ((InternalEList)getListenerMethods()).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 ((InternalEObject)eContainer).eInverseRemove(this, EcorePackage.EMODEL_ELEMENT__EANNOTATIONS, EModelElement.class, msgs);
- default:
- return eDynamicBasicRemoveFromContainer(msgs);
- }
- }
- return ((InternalEObject)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:
- return isAttributesExplicit() ? Boolean.TRUE : Boolean.FALSE;
- 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:
- return isListenerMethodsExplicit() ? 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();
- }
- 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:
- setAttributesExplicit(((Boolean)newValue).booleanValue());
- 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:
- setListenerMethodsExplicit(((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;
- }
- 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:
- setAttributesExplicit(ATTRIBUTES_EXPLICIT_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:
- setListenerMethodsExplicit(LISTENER_METHODS_EXPLICIT_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;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(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:
- return attributesExplicit != ATTRIBUTES_EXPLICIT_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:
- return listenerMethodsExplicit != LISTENER_METHODS_EXPLICIT_EDEFAULT;
- case BeaninfoPackage.EVENT_SET_DECORATOR__ADD_LISTENER_METHOD:
- return addListenerMethod != null;
- case BeaninfoPackage.EVENT_SET_DECORATOR__LISTENER_METHODS:
- return listenerMethods != null && !listenerMethods.isEmpty();
- case BeaninfoPackage.EVENT_SET_DECORATOR__LISTENER_TYPE:
- return listenerType != null;
- case BeaninfoPackage.EVENT_SET_DECORATOR__REMOVE_LISTENER_METHOD:
- return removeListenerMethod != 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(" (inDefaultEventSet: ");
- if (inDefaultEventSetESet) result.append(inDefaultEventSet); else result.append("<unset>");
- result.append(", unicast: ");
- if (unicastESet) result.append(unicast); else result.append("<unset>");
- result.append(", listenerMethodsExplicit: ");
- result.append(listenerMethodsExplicit);
- result.append(')');
- return result.toString();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isListenerMethodsExplicit() {
- return listenerMethodsExplicit;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setListenerMethodsExplicit(boolean newListenerMethodsExplicit) {
- boolean oldListenerMethodsExplicit = listenerMethodsExplicit;
- listenerMethodsExplicit = newListenerMethodsExplicit;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.EVENT_SET_DECORATOR__LISTENER_METHODS_EXPLICIT, oldListenerMethodsExplicit, listenerMethodsExplicit));
- }
-
- public void setDescriptorProxy(IBeanProxy descriptorProxy) {
- if (retrievedListenerMethods) {
- this.getListenerMethodsGen().clear();
- retrievedListenerMethods = retrievedListenerMethodsSuccessful = false;
- }
- super.setDescriptorProxy(descriptorProxy);
- }
-
- /**
- * 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";
- */
- public JavaClass getEventAdapterClass(){
-
- Iterator iter = getAttributes().iterator();
- while(iter.hasNext()){
- FeatureAttributeValue featureAttribute = (FeatureAttributeValue)iter.next();
- if ( EventSetDecorator.EVENTADAPTERCLASS.equals(featureAttribute.getName()) ){
- String adapterClassName = ((IStringBeanProxy)featureAttribute.getValueProxy()).stringValue();
- return (JavaClass) Utilities.getJavaClass(adapterClassName,eResource().getResourceSet());
- }
- }
- return null;
- }
-}
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/FeatureAttributeValueImpl.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/FeatureAttributeValueImpl.java
deleted file mode 100644
index a18f4d0bd..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/FeatureAttributeValueImpl.java
+++ /dev/null
@@ -1,340 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.impl;
-/*******************************************************************************
- * 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 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: FeatureAttributeValueImpl.java,v $
- * $Revision: 1.2 $ $Date: 2004/01/13 16:17:00 $
- */
-
-
-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.jem.internal.beaninfo.BeaninfoPackage;
-import org.eclipse.jem.internal.beaninfo.FeatureAttributeValue;
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Feature Attribute Value</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.FeatureAttributeValueImpl#getName <em>Name</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.FeatureAttributeValueImpl#getValue <em>Value</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.FeatureAttributeValueImpl#getValueProxy <em>Value Proxy</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-
-
-public class FeatureAttributeValueImpl extends EObjectImpl implements FeatureAttributeValue{
- /**
- * 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 #getValue() <em>Value</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getValue()
- * @generated
- * @ordered
- */
- protected EObject value = null;
-
- /**
- * The default value of the '{@link #getValueProxy() <em>Value Proxy</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getValueProxy()
- * @generated
- * @ordered
- */
- protected static final Object VALUE_PROXY_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getValueProxy() <em>Value Proxy</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getValueProxy()
- * @generated
- * @ordered
- */
- protected Object valueProxy = VALUE_PROXY_EDEFAULT;
- /**
- * This is true if the Value Proxy attribute has been set.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- protected boolean valueProxyESet = false;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected FeatureAttributeValueImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return BeaninfoPackage.eINSTANCE.getFeatureAttributeValue();
- }
-
- /**
- * <!-- 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, BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE__NAME, oldName, name));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EObject getValue() {
- return value;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetValue(EObject newValue, NotificationChain msgs) {
- EObject oldValue = value;
- value = newValue;
- if (eNotificationRequired()) {
- ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE__VALUE, oldValue, newValue);
- if (msgs == null) msgs = notification; else msgs.add(notification);
- }
- return msgs;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setValue(EObject newValue) {
- if (newValue != value) {
- NotificationChain msgs = null;
- if (value != null)
- msgs = ((InternalEObject)value).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE__VALUE, null, msgs);
- if (newValue != null)
- msgs = ((InternalEObject)newValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE__VALUE, null, msgs);
- msgs = basicSetValue(newValue, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE__VALUE, newValue, newValue));
- }
-
- /**
- * <!-- 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_ATTRIBUTE_VALUE__VALUE:
- return basicSetValue(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 BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE__NAME:
- return getName();
- case BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE__VALUE:
- return getValue();
- case BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE__VALUE_PROXY:
- return getValueProxy();
- }
- 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_VALUE__NAME:
- setName((String)newValue);
- return;
- case BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE__VALUE:
- setValue((EObject)newValue);
- return;
- case BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE__VALUE_PROXY:
- setValueProxy((Object)newValue);
- return;
- }
- eDynamicSet(eFeature, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE__NAME:
- setName(NAME_EDEFAULT);
- return;
- case BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE__VALUE:
- setValue((EObject)null);
- return;
- case BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE__VALUE_PROXY:
- unsetValueProxy();
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(EStructuralFeature eFeature) {
- switch (eDerivedStructuralFeatureID(eFeature)) {
- case BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE__NAME:
- return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
- case BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE__VALUE:
- return value != null;
- case BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE__VALUE_PROXY:
- return isSetValueProxy();
- }
- 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(" (name: ");
- result.append(name);
- result.append(", valueProxy: ");
- if (valueProxyESet) result.append(valueProxy); else result.append("<unset>");
- result.append(')');
- return result.toString();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object getValueProxy() {
- return valueProxy;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setValueProxy(Object newValueProxy) {
- Object oldValueProxy = valueProxy;
- valueProxy = newValueProxy;
- boolean oldValueProxyESet = valueProxyESet;
- valueProxyESet = true;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE__VALUE_PROXY, oldValueProxy, valueProxy, !oldValueProxyESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void unsetValueProxy() {
- Object oldValueProxy = valueProxy;
- boolean oldValueProxyESet = valueProxyESet;
- valueProxy = VALUE_PROXY_EDEFAULT;
- valueProxyESet = false;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.UNSET, BeaninfoPackage.FEATURE_ATTRIBUTE_VALUE__VALUE_PROXY, oldValueProxy, VALUE_PROXY_EDEFAULT, oldValueProxyESet));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetValueProxy() {
- return valueProxyESet;
- }
-
-}
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 93a74ff59..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/FeatureDecoratorImpl.java
+++ /dev/null
@@ -1,1129 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.impl;
-/*******************************************************************************
- * 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 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: FeatureDecoratorImpl.java,v $
- * $Revision: 1.1 $ $Date: 2003/10/27 17:17:59 $
- */
-
-
-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.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.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.FeatureAttributeValue;
-import org.eclipse.jem.internal.beaninfo.FeatureDecorator;
-import org.eclipse.jem.internal.beaninfo.adapters.BeaninfoProxyConstants;
-import org.eclipse.jem.internal.proxy.core.EnumerationBeanProxyWrapper;
-import org.eclipse.jem.internal.proxy.core.IBeanProxy;
-import org.eclipse.jem.internal.proxy.core.IBooleanBeanProxy;
-import org.eclipse.jem.internal.proxy.core.IMethodProxy;
-import org.eclipse.jem.internal.proxy.core.IStringBeanProxy;
-import org.eclipse.jem.internal.proxy.core.ThrowableProxy;
-
-/**
- * <!-- 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#isAttributesExplicit <em>Attributes Explicit</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{
- /**
- * 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;
-
- protected IBeanProxy fFeatureProxy;
- protected FeatureDecorator fFeatureDecoratorProxy;
- private int fIsImplicit = NOT_IMPLICIT;
- private String fProxyDisplayName = null;
-
- protected boolean isDesignTimeProxy = false;
- protected boolean setIsDesignTimeProxy;
- protected boolean isPreferredProxy = false;
- protected boolean setIsPreferredProxy;
-
- protected String categoryProxy;
- protected boolean setCategoryProxy;
- protected String shortDescriptionProxy;
- protected boolean setShortDescriptionProxy;
-
- /**
- * 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 #isAttributesExplicit() <em>Attributes Explicit</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isAttributesExplicit()
- * @generated
- * @ordered
- */
- protected static final boolean ATTRIBUTES_EXPLICIT_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isAttributesExplicit() <em>Attributes Explicit</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isAttributesExplicit()
- * @generated
- * @ordered
- */
- protected boolean attributesExplicit = ATTRIBUTES_EXPLICIT_EDEFAULT;
-
-
- /**
- * The cached value of the '{@link #getAttributes() <em>Attributes</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getAttributes()
- * @generated
- * @ordered
- */
- protected EList 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();
- }
-
- protected boolean retrievedAttributes;
-
- protected boolean validProxy(IBeanProxy proxy) {
- return proxy != null ? proxy.isValid() : false;
- }
-
- public EList getAttributes() {
- if (!isAttributesExplicit()) {
- if (validProxy(fFeatureProxy) && !retrievedAttributes) {
- retrievedAttributes = true;
- List attribs = this.getAttributesGen();
-
- IMethodProxy getValue = BeaninfoProxyConstants.getConstants(fFeatureProxy.getProxyFactoryRegistry()).getValueProxy();
- try {
- EnumerationBeanProxyWrapper attrNames = new EnumerationBeanProxyWrapper(BeaninfoProxyConstants.getConstants(fFeatureProxy.getProxyFactoryRegistry()).getAttributeNamesProxy().invoke(fFeatureProxy));
- while (attrNames.hasMoreElements()) {
- try {
- IStringBeanProxy attrName = (IStringBeanProxy) attrNames.nextElement();
- IBeanProxy attrValue = getValue.invoke(fFeatureProxy, attrName);
- if ("ivjDesignTimeProperty".equals(attrName.stringValue())) { //$NON-NLS-1$
- // This is special, we pull it out.
- // This actually only has meaning for Properties, so we only set it here, it is not referenced till there.
- if (attrValue instanceof IBooleanBeanProxy) {
- IBooleanBeanProxy v = (IBooleanBeanProxy) attrValue;
- isDesignTimeProxy = v.booleanValue();
- } else
- isDesignTimeProxy = false;
- setIsDesignTimeProxy = true;
- } else if ("category".equals(attrName.stringValue())) { //$NON-NLS-1$
- // This is special we pull it out.
- if (attrValue instanceof IStringBeanProxy) {
- categoryProxy = ((IStringBeanProxy) attrValue).stringValue();
- } else
- categoryProxy = null;
- setCategoryProxy = true;
- } else if ("preferred".equals(attrName.stringValue())) { //$NON-NLS-1$
- // There is a bug JDK 1.3 where preferred setting in the FeatureDescriptor is not
- // preserved and is lost. This was fixed in 1.4. So to allow 1.3 preferred to work
- // we allow the convention that if there is a "preferred" attribute setting, then
- // we will use that for preferred.
- // When sure that a descriptor is only used in 1.4, then the "preferred" attribute
- // can be removed from that beaninfo featureDescriptor.
- if (attrValue instanceof IBooleanBeanProxy) {
- IBooleanBeanProxy v = (IBooleanBeanProxy) attrValue;
- isPreferredProxy = v.booleanValue();
- setIsPreferredProxy = true;
- }
-
- } else {
- // Create the entry, which is FeatureAttribute with the key
- // being the attribute name and the value being the (as a proxy) being the value.
- FeatureAttributeValue fv = BeaninfoFactory.eINSTANCE.createFeatureAttributeValue();
- fv.setName(attrName.stringValue());
- fv.setValueProxy(attrValue);
- attribs.add(fv);
- }
- } catch (ThrowableProxy e) {
- }
- }
- } catch (ThrowableProxy e) {
- }
- }
- }
- return this.getAttributesGen();
- }
-
- /**
- * Was this decorator and/or feature implicitly created by introspection?
- * The default should be NOT_IMPLICIT.
- * This is here for linkage with the introspection process
- * and is not really a MOF property. The introspection needs
- * to know which features it created and which were explicitly
- * created by other means. Implicitly created ones may be
- * deleted at any time when the introspection determines it
- * needs to.
- */
- public int isImplicitlyCreated() {
- return fIsImplicit;
- }
-
- public void setImplicitlyCreated(int implicit) {
- fIsImplicit = implicit;
- }
-
-
- public boolean isIntrospected() {
- return fFeatureProxy != null;
- }
-
- public IBeanProxy getDescriptorProxy() {
- return fFeatureProxy;
- }
-
- public void setDescriptorProxy(IBeanProxy descriptor) {
- fFeatureProxy = descriptor;
- fProxyDisplayName = null;
- if (retrievedAttributes) {
- attributes.clear();
- retrievedAttributes = false;
- }
- isDesignTimeProxy = false;
- setIsDesignTimeProxy = false;
-
- setCategoryProxy = false;
- categoryProxy = null;
-
- setShortDescriptionProxy = false;
- shortDescriptionProxy = null;
-
- isPreferredProxy = false;
- setIsPreferredProxy = false;
-
- if (validProxy(fFeatureProxy)) {
- // Cache display name because this is used over and over.
- if (!isSetDisplayName())
- try {
- fProxyDisplayName = ((IStringBeanProxy) BeaninfoProxyConstants.getConstants(fFeatureProxy.getProxyFactoryRegistry()).getDisplayNameProxy().invoke(fFeatureProxy)).stringValue();
- } catch (NullPointerException e) {
- } catch (ThrowableProxy e) {
- }
-
- }
-
- }
-
- public void setDecoratorProxy(FeatureDecorator decorator) {
- fFeatureDecoratorProxy = decorator;
- }
-
- 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$
- }
-
- public String getDisplayName() {
- if (!isSetDisplayName())
- if (fProxyDisplayName != null)
- return fProxyDisplayName;
- else
- return getName(); // Use the name as the display name.
- return this.getDisplayNameGen();
- }
- public String getShortDescription() {
- if (!isSetShortDescription()) {
- if (!setShortDescriptionProxy) {
- // Short description is used over and over, so we cache it.
- setShortDescriptionProxy = true;
- if (validProxy(fFeatureProxy))
- try {
- IStringBeanProxy str = (IStringBeanProxy) BeaninfoProxyConstants.getConstants(fFeatureProxy.getProxyFactoryRegistry()).getShortDescriptionProxy().invoke(fFeatureProxy);
- if (str != null)
- shortDescriptionProxy = str.stringValue();
- } catch (ThrowableProxy e) {
- };
- }
-
- return shortDescriptionProxy != null ? shortDescriptionProxy : getDisplayName(); // It not set, then use display name.
- }
-
- return this.getShortDescriptionGen();
- }
-
-
- /**
- * <!-- 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 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;
- }
-
- public String getCategory() {
- if (category != CATEGORY_EDEFAULT)
- return getCategoryGen();
- getAttributes(); // Force retrieval of attributes so that we can see if category is there.
- return setCategoryProxy ? categoryProxy : CATEGORY_EDEFAULT;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getCategoryGen() {
- 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));
- }
-
- public boolean isExpert() {
- if (validProxy(fFeatureProxy) && !isSetExpert())
- try {
- return ((IBooleanBeanProxy) BeaninfoProxyConstants.getConstants(fFeatureProxy.getProxyFactoryRegistry()).getIsExpertProxy().invoke(fFeatureProxy)).booleanValue();
- } catch (ThrowableProxy e) {
- };
-
- return this.isExpertGen();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isExpertGen() {
- 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;
- }
-
- /**
- */
- public boolean isHidden() {
- if (validProxy(fFeatureProxy) && !isSetHidden())
- try {
- return ((IBooleanBeanProxy) BeaninfoProxyConstants.getConstants(fFeatureProxy.getProxyFactoryRegistry()).getIsHiddenProxy().invoke(fFeatureProxy)).booleanValue();
- } catch (ThrowableProxy e) {
- };
-
- return this.isHiddenGen();
-
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isHiddenGen() {
- 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;
- }
-
- public boolean isPreferred() {
- getAttributes(); // This will cause the preferred flag to be set if found. (Due to 1.3 bug, we need ti also test the attributes).
- if (setIsPreferredProxy)
- return isPreferredProxy;
- else if (validProxy(fFeatureProxy) && !isSetPreferred())
- try {
- return ((IBooleanBeanProxy) BeaninfoProxyConstants.getConstants(fFeatureProxy.getProxyFactoryRegistry()).getIsPreferredProxy().invoke(fFeatureProxy)).booleanValue();
- } catch (ThrowableProxy e) {
- };
-
- return this.isPreferredGen();
-
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isPreferredGen() {
- 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 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(", attributesExplicit: ");
- result.append(attributesExplicit);
- result.append(')');
- return result.toString();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getDisplayNameGen() {
- return displayName;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getShortDescriptionGen() {
- return shortDescription;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList getAttributesGen() {
- if (attributes == null) {
- attributes = new EObjectContainmentEList(FeatureAttributeValue.class, this, BeaninfoPackage.FEATURE_DECORATOR__ATTRIBUTES);
- }
- return attributes;
- }
-
- /**
- * <!-- 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 ((InternalEObject)eContainer).eInverseRemove(this, EcorePackage.EMODEL_ELEMENT__EANNOTATIONS, EModelElement.class, msgs);
- default:
- return eDynamicBasicRemoveFromContainer(msgs);
- }
- }
- return ((InternalEObject)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:
- return isAttributesExplicit() ? Boolean.TRUE : Boolean.FALSE;
- 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:
- setAttributesExplicit(((Boolean)newValue).booleanValue());
- 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:
- setAttributesExplicit(ATTRIBUTES_EXPLICIT_EDEFAULT);
- return;
- case BeaninfoPackage.FEATURE_DECORATOR__ATTRIBUTES:
- getAttributes().clear();
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(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:
- return attributesExplicit != ATTRIBUTES_EXPLICIT_EDEFAULT;
- case BeaninfoPackage.FEATURE_DECORATOR__ATTRIBUTES:
- return attributes != null && !attributes.isEmpty();
- }
- return eDynamicIsSet(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isAttributesExplicit() {
- return attributesExplicit;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setAttributesExplicit(boolean newAttributesExplicit) {
- boolean oldAttributesExplicit = attributesExplicit;
- attributesExplicit = newAttributesExplicit;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.FEATURE_DECORATOR__ATTRIBUTES_EXPLICIT, oldAttributesExplicit, attributesExplicit));
- }
-
- /**
- * @see org.eclipse.jem.internal.beaninfo.FeatureDecorator#needIntrospection()
- */
- public boolean needIntrospection() {
- return fFeatureProxy != null && !validProxy(fFeatureProxy);
- }
-
-}
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 9f02f3d55..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/IndexedPropertyDecoratorImpl.java
+++ /dev/null
@@ -1,566 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.impl;
-/*******************************************************************************
- * 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 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: IndexedPropertyDecoratorImpl.java,v $
- * $Revision: 1.2 $ $Date: 2004/01/13 16:17:00 $
- */
-
-
-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.IndexedPropertyDecorator;
-import org.eclipse.jem.internal.beaninfo.adapters.BeaninfoProxyConstants;
-import org.eclipse.jem.internal.beaninfo.adapters.Utilities;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jem.internal.proxy.core.IMethodProxy;
-import org.eclipse.jem.internal.proxy.core.ThrowableProxy;
-/**
- * <!-- 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{
- /**
- * 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;
- /**
- * 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;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected IndexedPropertyDecoratorImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return BeaninfoPackage.eINSTANCE.getIndexedPropertyDecorator();
- }
-
- public Method getIndexedReadMethod() {
- if (!eIsSet(BeaninfoPackage.eINSTANCE.getIndexedPropertyDecorator_IndexedReadMethod())) {
- if (validProxy(fFeatureProxy)) {
- try {
- return (Method) Utilities.getMethod((IMethodProxy) BeaninfoProxyConstants.getConstants(fFeatureProxy.getProxyFactoryRegistry()).getIndexedReadMethodProxy().invoke(fFeatureProxy), getEModelElement().eResource().getResourceSet());
- } catch (ThrowableProxy e) {
- }
- } else
- if (fFeatureDecoratorProxy != null)
- return ((IndexedPropertyDecorator) fFeatureDecoratorProxy).getIndexedReadMethod();
- }
-
- return this.getIndexedReadMethodGen();
- }
- public Method getIndexedWriteMethod() {
- if (!eIsSet(BeaninfoPackage.eINSTANCE.getIndexedPropertyDecorator_IndexedWriteMethod())) {
- if (validProxy(fFeatureProxy)) {
- try {
- return (Method) Utilities.getMethod((IMethodProxy) BeaninfoProxyConstants.getConstants(fFeatureProxy.getProxyFactoryRegistry()).getIndexedWriteMethodProxy().invoke(fFeatureProxy), getEModelElement().eResource().getResourceSet());
- } catch (ThrowableProxy e) {
- }
- } else
- if (fFeatureDecoratorProxy != null)
- return ((IndexedPropertyDecorator) fFeatureDecoratorProxy).getIndexedWriteMethod();
- }
-
- return this.getIndexedWriteMethodGen();
- }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setIndexedReadMethod(Method newIndexedReadMethod) {
- Method oldIndexedReadMethod = indexedReadMethod;
- indexedReadMethod = newIndexedReadMethod;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__INDEXED_READ_METHOD, oldIndexedReadMethod, indexedReadMethod));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setIndexedWriteMethod(Method newIndexedWriteMethod) {
- Method oldIndexedWriteMethod = indexedWriteMethod;
- indexedWriteMethod = newIndexedWriteMethod;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__INDEXED_WRITE_METHOD, oldIndexedWriteMethod, indexedWriteMethod));
- }
-
- /**
- * <!-- 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 ((InternalEObject)eContainer).eInverseRemove(this, EcorePackage.EMODEL_ELEMENT__EANNOTATIONS, EModelElement.class, msgs);
- default:
- return eDynamicBasicRemoveFromContainer(msgs);
- }
- }
- return ((InternalEObject)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:
- return isAttributesExplicit() ? Boolean.TRUE : Boolean.FALSE;
- 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__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__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:
- setAttributesExplicit(((Boolean)newValue).booleanValue());
- 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__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__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:
- setAttributesExplicit(ATTRIBUTES_EXPLICIT_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__PROPERTY_EDITOR_CLASS:
- setPropertyEditorClass((JavaClass)null);
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__READ_METHOD:
- setReadMethod((Method)null);
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__WRITE_METHOD:
- setWriteMethod((Method)null);
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__INDEXED_READ_METHOD:
- setIndexedReadMethod((Method)null);
- return;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__INDEXED_WRITE_METHOD:
- setIndexedWriteMethod((Method)null);
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(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:
- return attributesExplicit != ATTRIBUTES_EXPLICIT_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__PROPERTY_EDITOR_CLASS:
- return propertyEditorClass != null;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__READ_METHOD:
- return readMethod != null;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__WRITE_METHOD:
- return writeMethod != null;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__INDEXED_READ_METHOD:
- return indexedReadMethod != null;
- case BeaninfoPackage.INDEXED_PROPERTY_DECORATOR__INDEXED_WRITE_METHOD:
- return indexedWriteMethod != null;
- }
- return eDynamicIsSet(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Method getIndexedReadMethodGen() {
- 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 Method basicGetIndexedReadMethod() {
- return indexedReadMethod;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Method getIndexedWriteMethodGen() {
- 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 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 eff86662d..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/MethodDecoratorImpl.java
+++ /dev/null
@@ -1,552 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.impl;
-/*******************************************************************************
- * 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 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: MethodDecoratorImpl.java,v $
- * $Revision: 1.2 $ $Date: 2004/01/13 16:17:00 $
- */
-
-
-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.MethodDecorator;
-import org.eclipse.jem.internal.beaninfo.MethodProxy;
-import org.eclipse.jem.internal.beaninfo.ParameterDecorator;
-import org.eclipse.jem.internal.beaninfo.adapters.BeaninfoProxyConstants;
-import org.eclipse.jem.java.JavaParameter;
-import org.eclipse.jem.java.Method;
-import org.eclipse.jem.internal.proxy.core.IArrayBeanProxy;
-import org.eclipse.jem.internal.proxy.core.IBeanProxy;
-import org.eclipse.jem.internal.proxy.core.ThrowableProxy;
-/**
- * <!-- 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#isParmsExplicit <em>Parms Explicit</em>}</li>
- * <li>{@link org.eclipse.jem.internal.beaninfo.impl.MethodDecoratorImpl#getParameterDescriptors <em>Parameter Descriptors</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-
-
-public class MethodDecoratorImpl extends FeatureDecoratorImpl implements MethodDecorator{
- /**
- * The default value of the '{@link #isParmsExplicit() <em>Parms Explicit</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isParmsExplicit()
- * @generated
- * @ordered
- */
- protected static final boolean PARMS_EXPLICIT_EDEFAULT = false;
-
- protected boolean fRetrievedParms = false;
- protected boolean fRetrievedParmsSuccessful = false;
-
- /**
- * The cached value of the '{@link #isParmsExplicit() <em>Parms Explicit</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isParmsExplicit()
- * @generated
- * @ordered
- */
- protected boolean parmsExplicit = PARMS_EXPLICIT_EDEFAULT;
- /**
- * The cached value of the '{@link #getParameterDescriptors() <em>Parameter Descriptors</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getParameterDescriptors()
- * @generated
- * @ordered
- */
- protected EList parameterDescriptors = 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();
- }
-
- public EList getParameterDescriptors() {
- if (!isParmsExplicit()) {
- if (validProxy(fFeatureProxy) && !fRetrievedParms) {
- fRetrievedParms = true;
- EList parmsList = this.getParameterDescriptorsGen();
-
- try {
- IArrayBeanProxy parms = (IArrayBeanProxy) BeaninfoProxyConstants.getConstants(fFeatureProxy.getProxyFactoryRegistry()).getParameterDescriptorsProxy().invoke(fFeatureProxy);
- if (parms != null) {
- List plist = getMethodParameters();
- int plistLength = plist != null ? plist.size() : 0;
- int parmsLength = Math.min(parms.getLength(), plistLength);
- // Don't want to add more than there really is. This just means that the beaninfo is out of sync with the code.
- for (int i=0; i<parmsLength; i++) {
- IBeanProxy parm = parms.get(i);
- ParameterDecorator pd = BeaninfoFactory.eINSTANCE.createParameterDecorator();
- pd.setImplicitlyCreated(IMPLICIT_DECORATOR);
- pd.setDescriptorProxy(parm);
- parmsList.add(pd);
- // Get the real parm and set as the decorates.
- pd.setParameter((JavaParameter) plist.get(i));
- }
- fRetrievedParmsSuccessful = true;
- return parmsList;
- }
- } catch (ThrowableProxy e) {
- };
- }
-
- if (fRetrievedParmsSuccessful)
- return this.getParameterDescriptorsGen(); // Built once from proxy, use it always.
- else
- return createDefaultParmsList(); // Not explicit and not sucessful retrieval, use default.
- }
- return this.getParameterDescriptorsGen();
- }
- /**
- * This is called if parms list not explicitly set and there is no feature proxy or
- * there is a feature proxy and the proxy has nothing defined.
- * We will generate a list based upon the parameters from the method itself.
- * We won't cache it because it may change and we aren't listening for changes.
- * It shouldn't be used that often to cause a performance problem.
- */
- protected EList createDefaultParmsList() {
- EList parmsList = this.getParameterDescriptorsGen();
- parmsList.clear();
-
- 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.setParameter(jp);
- parmsList.add(pd);
- }
- return parmsList;
- }
-
- /*
- * Initialize the ParameterDecorators to point to 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.
- */
- protected void initializeParameters() {
- if (this.parameterDescriptors == null)
- return;
- List mp = getMethodParameters();
- if (mp == null || mp.isEmpty())
- return; // Nothing that can be described.
- int psize = Math.min(this.parameterDescriptors.size(), mp.size());
- for (int i=0; i < psize; i++)
- ((ParameterDecorator) this.parameterDescriptors.get(i)).setParameter((JavaParameter) mp.get(i));
- }
-
-
- protected 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 null; // Not decorating correct object.
- if (m == null)
- return null; // Couldn't find the method.
- List p = m.getParameters();
- return p;
- }
-
-
-
- public void setDescriptorProxy(IBeanProxy descriptorProxy) {
- if (fRetrievedParms) {
- this.getParameterDescriptorsGen().clear();
- fRetrievedParms = fRetrievedParmsSuccessful = false;
- }
- super.setDescriptorProxy(descriptorProxy);
- }
-
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isParmsExplicit() {
- return parmsExplicit;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setParmsExplicit(boolean newParmsExplicit) {
- boolean oldParmsExplicit = parmsExplicit;
- parmsExplicit = newParmsExplicit;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, BeaninfoPackage.METHOD_DECORATOR__PARMS_EXPLICIT, oldParmsExplicit, parmsExplicit));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String toString() {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (parmsExplicit: ");
- result.append(parmsExplicit);
- result.append(')');
- return result.toString();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList getParameterDescriptorsGen() {
- if (parameterDescriptors == null) {
- parameterDescriptors = new EObjectContainmentEList(ParameterDecorator.class, this, BeaninfoPackage.METHOD_DECORATOR__PARAMETER_DESCRIPTORS);
- }
- return parameterDescriptors;
- }
-
- /**
- * <!-- 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__PARAMETER_DESCRIPTORS:
- return ((InternalEList)getParameterDescriptors()).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 ((InternalEObject)eContainer).eInverseRemove(this, EcorePackage.EMODEL_ELEMENT__EANNOTATIONS, EModelElement.class, msgs);
- default:
- return eDynamicBasicRemoveFromContainer(msgs);
- }
- }
- return ((InternalEObject)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:
- return isAttributesExplicit() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.METHOD_DECORATOR__ATTRIBUTES:
- return getAttributes();
- case BeaninfoPackage.METHOD_DECORATOR__PARMS_EXPLICIT:
- return isParmsExplicit() ? Boolean.TRUE : Boolean.FALSE;
- case BeaninfoPackage.METHOD_DECORATOR__PARAMETER_DESCRIPTORS:
- return getParameterDescriptors();
- }
- 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:
- setAttributesExplicit(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.METHOD_DECORATOR__ATTRIBUTES:
- getAttributes().clear();
- getAttributes().addAll((Collection)newValue);
- return;
- case BeaninfoPackage.METHOD_DECORATOR__PARMS_EXPLICIT:
- setParmsExplicit(((Boolean)newValue).booleanValue());
- return;
- case BeaninfoPackage.METHOD_DECORATOR__PARAMETER_DESCRIPTORS:
- getParameterDescriptors().clear();
- getParameterDescriptors().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:
- setAttributesExplicit(ATTRIBUTES_EXPLICIT_EDEFAULT);
- return;
- case BeaninfoPackage.METHOD_DECORATOR__ATTRIBUTES:
- getAttributes().clear();
- return;
- case BeaninfoPackage.METHOD_DECORATOR__PARMS_EXPLICIT:
- setParmsExplicit(PARMS_EXPLICIT_EDEFAULT);
- return;
- case BeaninfoPackage.METHOD_DECORATOR__PARAMETER_DESCRIPTORS:
- getParameterDescriptors().clear();
- return;
- }
- eDynamicUnset(eFeature);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(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:
- return attributesExplicit != ATTRIBUTES_EXPLICIT_EDEFAULT;
- case BeaninfoPackage.METHOD_DECORATOR__ATTRIBUTES:
- return attributes != null && !attributes.isEmpty();
- case BeaninfoPackage.METHOD_DECORATOR__PARMS_EXPLICIT:
- return parmsExplicit != PARMS_EXPLICIT_EDEFAULT;
- case BeaninfoPackage.METHOD_DECORATOR__PARAMETER_DESCRIPTORS:
- return parameterDescriptors != null && !parameterDescriptors.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 6b7c93303..000000000
--- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/impl/MethodProxyImpl.java
+++ /dev/null
@@ -1,342 +0,0 @@
-package org.eclipse.jem.internal.beaninfo.impl;
-/*******************************************************************************
- * 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 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: MethodProxyImpl.java,v $
- * $Revision: 1.2 $ $Date: 2004/01/13 16:17:00 $
- */
-
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;