diff options
Diffstat (limited to 'plugins/org.eclipse.jem.beaninfo/vm_beaninfovm')
4 files changed, 229 insertions, 97 deletions
diff --git a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/beaninfo/vm/BaseBeanInfo.java b/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/beaninfo/vm/BaseBeanInfo.java index 9b639af4a..f8116fefc 100644 --- a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/beaninfo/vm/BaseBeanInfo.java +++ b/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/beaninfo/vm/BaseBeanInfo.java @@ -12,7 +12,7 @@ package org.eclipse.jem.beaninfo.vm; *******************************************************************************/ /* * $RCSfile: BaseBeanInfo.java,v $ - * $Revision: 1.2 $ $Date: 2005/02/04 23:11:53 $ + * $Revision: 1.3 $ $Date: 2005/02/08 21:54:02 $ */ import java.awt.Image; @@ -120,6 +120,16 @@ public abstract class BaseBeanInfo extends SimpleBeanInfo { * @since 1.1.0 */ public static final String INDEFAULTEVENTSET = "inDefaultEventSet";//$NON-NLS-1$ + + /** + * This is a Feature Attribute Key. When this key exists, the value is a java.lang.reflect.Field. It means this property + * is a field and not a getter/setter. The getter/setter will be ignored and the property type will be the type of the field. + * <p> + * At this time, do not use field on an indexed property. This is currently an indefined situation. + * + * @since 1.1.0 + */ + public static final String FIELDPROPERTY = "field"; /** * Enumeration values indicator for apply property arguments. Enumeration values is a pre-defined attribute name too. That is where the @@ -178,6 +188,12 @@ public abstract class BaseBeanInfo extends SimpleBeanInfo { public static final String ICONMONO32X32URL = "ICON_MONO_32x32_URL"; //$NON-NLS-1$ // Not used public static final boolean JVM_1_3 = System.getProperty("java.version", "").startsWith("1.3"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + + /** + * Empty args list for those descriptors that don't have arguments. + * @since 1.1.0 + */ + public static final Object[] EMPTY_ARGS = new Object[0]; /** * Capitalize the string. This uppercases only the first character. So if you have property name of "abc" it will become "Abc". @@ -413,6 +429,43 @@ public abstract class BaseBeanInfo extends SimpleBeanInfo { return pd; } + + private static Method GETCLASS; + + static { + try { + GETCLASS = Object.class.getMethod("getClass", null); + } catch (SecurityException e) { + } catch (NoSuchMethodException e) { + } + } + /** + * Create a property descriptor describing a field property. + * <p> + * Note: This is non-standard. The VE knows how to handle this, but any one else using BeanInfo will see this as a property with + * no getter or setter. + * @param name + * @param field + * @param args + * @return + * + * @since 1.1.0 + */ + public static PropertyDescriptor createFieldPropertyDescriptor(String name, Field field, Object[] args) { + try { + PropertyDescriptor pd = new PropertyDescriptor(name, null, null); + pd.setValue(FIELDPROPERTY, field); // Set the field property so we know it is a field. + applyFieldArguments(pd, args); + // Need to set in a phony read method because Introspector will throw it away otherwise. We just use Object.getClass for this. + // We will ignore the property type for fields. If used outside of VE then it will look like a class property. + pd.setReadMethod(GETCLASS); + return pd; + } catch (IntrospectionException e) { + throwError(e, java.text.MessageFormat.format(RESBUNDLE.getString("Cannot_create_the_P1_EXC_"), //$NON-NLS-1$ + new Object[] { name})); + return null; + } + } /** * Create a bean's property descriptor. @@ -514,45 +567,77 @@ public abstract class BaseBeanInfo extends SimpleBeanInfo { } } + /* + * The common property arguments between field and standard properties. + */ + private static boolean applyCommonPropertyArguments(PropertyDescriptor pd, String key, Object value) { + if (BOUND.equals(key)) { + pd.setBound(((Boolean) value).booleanValue()); + } else if (CONSTRAINED.equals(key)) { + pd.setConstrained(((Boolean) value).booleanValue()); + } else if (PROPERTYEDITORCLASS.equals(key)) { + pd.setPropertyEditorClass((Class) value); + } else if (FIELDPROPERTY.equals(key)) + return true; // This should not be applied except through createFieldProperty. + else + return false; + return true; + + } + private static void applyPropertyArguments(PropertyDescriptor pd, Object[] args, Class cls) { for (int i = 0; i < args.length; i += 2) { String key = (String) args[i]; Object value = args[i + 1]; - if (BOUND.equals(key)) { - pd.setBound(((Boolean) value).booleanValue()); - } else if (CONSTRAINED.equals(key)) { - pd.setConstrained(((Boolean) value).booleanValue()); - } else if (PROPERTYEDITORCLASS.equals(key)) { - pd.setPropertyEditorClass((Class) value); - } else if (READMETHOD.equals(key)) { - String methodName = (String) value; - Method method; - try { - method = cls.getMethod(methodName, new Class[0]); - pd.setReadMethod(method); - } catch (Exception e) { - throwError(e, java.text.MessageFormat.format(RESBUNDLE.getString("{0}_no_read_method_EXC_"), //$NON-NLS-1$ - new Object[] { cls, methodName})); - } - } else if (WRITEMETHOD.equals(key)) { - String methodName = (String) value; - try { - if (methodName == null) { - pd.setWriteMethod(null); - } else { - Method method; - Class type = pd.getPropertyType(); - method = cls.getMethod(methodName, new Class[] { type}); - pd.setWriteMethod(method); + if (!applyCommonPropertyArguments(pd, key, value)) { + if (READMETHOD.equals(key)) { + String methodName = (String) value; + Method method; + try { + method = cls.getMethod(methodName, new Class[0]); + pd.setReadMethod(method); + } catch (Exception e) { + throwError(e, java.text.MessageFormat.format(RESBUNDLE.getString("{0}_no_read_method_EXC_"), //$NON-NLS-1$ + new Object[] { cls, methodName})); } - } catch (Exception e) { - throwError(e, java.text.MessageFormat.format(RESBUNDLE.getString("{0}_no_write_method_EXC_"), //$NON-NLS-1$ - new Object[] { cls, methodName})); + } else if (WRITEMETHOD.equals(key)) { + String methodName = (String) value; + try { + if (methodName == null) { + pd.setWriteMethod(null); + } else { + Method method; + Class type = pd.getPropertyType(); + method = cls.getMethod(methodName, new Class[] { type}); + pd.setWriteMethod(method); + } + } catch (Exception e) { + throwError(e, java.text.MessageFormat.format(RESBUNDLE.getString("{0}_no_write_method_EXC_"), //$NON-NLS-1$ + new Object[] { cls, methodName})); + } + } else { + // arbitrary value + setFeatureDescriptorValue(pd, key, value); + } + } + } + } + + private static void applyFieldArguments(PropertyDescriptor pd, Object[] args) { + for (int i = 0; i < args.length; i += 2) { + String key = (String) args[i]; + Object value = args[i + 1]; + + if (!applyCommonPropertyArguments(pd, key, value)) { + if (READMETHOD.equals(key)) { + // ignored for field. + } else if (WRITEMETHOD.equals(key)) { + // ignored for field. + } else { + // arbitrary value + setFeatureDescriptorValue(pd, key, value); } - } else { - // arbitrary value - setFeatureDescriptorValue(pd, key, value); } } } @@ -596,9 +681,9 @@ public abstract class BaseBeanInfo extends SimpleBeanInfo { * The array of property descriptors to search, may be null. * @param name * The name to search for. - * @return The found property descriptor, or null if not found. + * @return The found property descriptor index, or -1 if not found. */ - private static int findPropertyDescriptor(PropertyDescriptor[] pds, String name) { + public static int findPropertyDescriptor(PropertyDescriptor[] pds, String name) { for (int i = 0; i < pds.length; i++) { if (name.equals(pds[i].getName())) return i; @@ -623,6 +708,15 @@ public abstract class BaseBeanInfo extends SimpleBeanInfo { public int getDefaultPropertyIndex() { return -1; } + + + /* (non-Javadoc) + * @see java.beans.SimpleBeanInfo#getBeanDescriptor() + */ + public BeanDescriptor getBeanDescriptor() { + // Default is to create an empty one. + return createBeanDescriptor(getBeanClass(), EMPTY_ARGS); + } /** * Implementation for BeanInfo. This implementation will return the BeanInfo of the superclass. diff --git a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/ModelingBeanInfo.java b/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/ModelingBeanInfo.java index 8ff014b20..f1974e774 100644 --- a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/ModelingBeanInfo.java +++ b/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/ModelingBeanInfo.java @@ -12,12 +12,14 @@ package org.eclipse.jem.internal.beaninfo.vm; *******************************************************************************/ /* * $RCSfile: ModelingBeanInfo.java,v $ - * $Revision: 1.2 $ $Date: 2005/02/04 23:11:53 $ + * $Revision: 1.3 $ $Date: 2005/02/08 21:54:02 $ */ import java.beans.*; import java.io.IOException; import java.io.ObjectOutputStream; +import java.lang.reflect.*; +import java.lang.reflect.Field; import java.lang.reflect.Method; import java.util.*; @@ -128,14 +130,16 @@ public abstract class ModelingBeanInfo implements ICallback { protected String[] fNotInheritedMethods; protected String[] fNotInheritedProperties; + + protected int doFlags; /** * Method used to do introspection and create the appropriate ModelingBeanInfo * * This will always introspect. */ - public static ModelingBeanInfo introspect(Class introspectClass) throws IntrospectionException { - return introspect(introspectClass, true); + public static ModelingBeanInfo introspect(Class introspectClass, int doFlags) throws IntrospectionException { + return introspect(introspectClass, true, doFlags); } /** @@ -145,7 +149,7 @@ public abstract class ModelingBeanInfo implements ICallback { * Introspector will use reflection for local methods/events/properties of this class and then add in the results of the superclass introspection. * If this parameter is false, then if the explicit beaninfo is not found, then no introspection will be done and null will be returned. */ - public static ModelingBeanInfo introspect(Class introspectClass, boolean introspectIfNoBeanInfo) throws IntrospectionException { + public static ModelingBeanInfo introspect(Class introspectClass, boolean introspectIfNoBeanInfo, int doFlags) throws IntrospectionException { if (!introspectIfNoBeanInfo) { // Need to check if the beaninfo is explicitly supplied. // If not, then we return null. @@ -179,10 +183,10 @@ public abstract class ModelingBeanInfo implements ICallback { Class superClass = introspectClass.getSuperclass(); if (superClass == null) - return PRE15 ? (ModelingBeanInfo) new ModelingBeanInfoPre15(bInfo) : new ModelingBeanInfo15(bInfo); + return PRE15 ? (ModelingBeanInfo) new ModelingBeanInfoPre15(bInfo, doFlags) : new ModelingBeanInfo15(bInfo, doFlags); else - return PRE15 ? (ModelingBeanInfo) new ModelingBeanInfoPre15(bInfo, Introspector.getBeanInfo(superClass)) : new ModelingBeanInfo15(bInfo, - Introspector.getBeanInfo(superClass)); + return PRE15 ? (ModelingBeanInfo) new ModelingBeanInfoPre15(bInfo, Introspector.getBeanInfo(superClass), doFlags) : new ModelingBeanInfo15(bInfo, + Introspector.getBeanInfo(superClass), doFlags); } /** @@ -224,49 +228,55 @@ public abstract class ModelingBeanInfo implements ICallback { * Used only for Object since that is the only bean that doesn't have a superclass. Superclass beaninfo required for all other classes. If this is * constructed then this means no merge and the list is definitive. */ - protected ModelingBeanInfo(BeanInfo beanInfo) { + protected ModelingBeanInfo(BeanInfo beanInfo, int doFlags) { fTargetBeanInfo = beanInfo; + this.doFlags = doFlags; } - protected ModelingBeanInfo(BeanInfo beanInfo, BeanInfo superBeanInfo) { - this(beanInfo); + protected ModelingBeanInfo(BeanInfo beanInfo, BeanInfo superBeanInfo, int doFlags) { + this(beanInfo, doFlags); // Now go through the beaninfo to determine the merge state. // The default is no merge. - List full = addAll(beanInfo.getEventSetDescriptors()); - List inherited = addAll(superBeanInfo.getEventSetDescriptors()); + if ((doFlags & IBeanInfoIntrospectionConstants.DO_EVENTS) != 0) { + List full = addAll(beanInfo.getEventSetDescriptors()); + List inherited = addAll(superBeanInfo.getEventSetDescriptors()); - fMergeInheritedEvents = stripList(full, inherited); - if (fMergeInheritedEvents) { - if (!full.isEmpty()) - fEventSets = (EventSetDescriptor[]) full.toArray(new EventSetDescriptor[full.size()]); - if (!inherited.isEmpty()) - createEventArray(inherited); // This is actually a list of those NOT inherited. + fMergeInheritedEvents = stripList(full, inherited); + if (fMergeInheritedEvents) { + if (!full.isEmpty()) + fEventSets = (EventSetDescriptor[]) full.toArray(new EventSetDescriptor[full.size()]); + if (!inherited.isEmpty()) + createEventArray(inherited); // This is actually a list of those NOT inherited. + } } - full = addAll(beanInfo.getMethodDescriptors()); - inherited = addAll(superBeanInfo.getMethodDescriptors()); + if ((doFlags & IBeanInfoIntrospectionConstants.DO_METHODS) != 0) { + List full = addAll(beanInfo.getMethodDescriptors()); + List inherited = addAll(superBeanInfo.getMethodDescriptors()); - fMergeInheritedMethods = stripList(full, inherited); - if (fMergeInheritedMethods) { - if (!full.isEmpty()) - fMethods = (MethodDescriptor[]) full.toArray(new MethodDescriptor[full.size()]); - if (!inherited.isEmpty()) - createMethodEntries(inherited); // This is actually a list of those NOT inherited. + fMergeInheritedMethods = stripList(full, inherited); + if (fMergeInheritedMethods) { + if (!full.isEmpty()) + fMethods = (MethodDescriptor[]) full.toArray(new MethodDescriptor[full.size()]); + if (!inherited.isEmpty()) + createMethodEntries(inherited); // This is actually a list of those NOT inherited. + } } - full = addAll(beanInfo.getPropertyDescriptors()); - inherited = addAll(superBeanInfo.getPropertyDescriptors()); + if ((doFlags & IBeanInfoIntrospectionConstants.DO_PROPERTIES) != 0) { + List full = addAll(beanInfo.getPropertyDescriptors()); + List inherited = addAll(superBeanInfo.getPropertyDescriptors()); - fMergeInheritedProperties = stripList(full, inherited); - if (fMergeInheritedProperties) { - if (!full.isEmpty()) - fProperties = (PropertyDescriptor[]) full.toArray(new PropertyDescriptor[full.size()]); - if (!inherited.isEmpty()) - createPropertyArray(inherited); // This is actually a list of those NOT inherited. + fMergeInheritedProperties = stripList(full, inherited); + if (fMergeInheritedProperties) { + if (!full.isEmpty()) + fProperties = (PropertyDescriptor[]) full.toArray(new PropertyDescriptor[full.size()]); + if (!inherited.isEmpty()) + createPropertyArray(inherited); // This is actually a list of those NOT inherited. + } } - } protected void createEventArray(List features) { @@ -523,6 +533,22 @@ public abstract class ModelingBeanInfo implements ICallback { this.vmServer = vmServer; this.callbackID = callbackID; } + + public void send() throws IOException, CommandException { + if (doFlags != 0) { + ObjectOutputStream stream = new ObjectOutputStream(vmServer.requestStream(callbackID, 0)); + if ((doFlags & IBeanInfoIntrospectionConstants.DO_BEAN_DECOR) != 0) + sendBeanDecorator(stream); + if ((doFlags & IBeanInfoIntrospectionConstants.DO_PROPERTIES) != 0) + sendPropertyDecorators(stream); + if ((doFlags & IBeanInfoIntrospectionConstants.DO_METHODS) != 0) + sendMethodDecorators(stream); + if ((doFlags & IBeanInfoIntrospectionConstants.DO_EVENTS) != 0) + sendEventDecorators(stream); + stream.writeInt(IBeanInfoIntrospectionConstants.DONE); + stream.close(); + } + } /** * Called by IDE to send the bean decorator information back through the callback. @@ -531,7 +557,7 @@ public abstract class ModelingBeanInfo implements ICallback { * * @since 1.1.0 */ - public Object sendBeanDecorator() throws IOException, CommandException { + public void sendBeanDecorator(ObjectOutputStream stream) throws IOException, CommandException { BeanRecord br = new BeanRecord(); BeanDescriptor bd = getBeanDescriptor(); @@ -545,11 +571,8 @@ public abstract class ModelingBeanInfo implements ICallback { br.notInheritedEventNames = getNotInheritedEventSetDescriptors(); fill(bd, br, BEAN_RECORD_TYPE); } - ObjectOutputStream stream = new ObjectOutputStream(vmServer.requestStream(callbackID, - IBeanInfoIntrospectionConstants.BEAN_DECORATOR_SENT)); + stream.writeInt(IBeanInfoIntrospectionConstants.BEAN_DECORATOR_SENT); stream.writeObject(br); - stream.close(); - return null; } /** @@ -559,12 +582,11 @@ public abstract class ModelingBeanInfo implements ICallback { * @throws IOException * @since 1.1.0 */ - public void sendPropertyDecorators() throws IOException, CommandException { + public void sendPropertyDecorators(ObjectOutputStream stream) throws IOException, CommandException { PropertyDescriptor[] properties = getPropertyDescriptors(); if (properties != null && properties.length > 0) { - ObjectOutputStream stream = new ObjectOutputStream(vmServer.requestStream(callbackID, - IBeanInfoIntrospectionConstants.PROPERTY_DECORATORS_SENT)); // Now start writing the records. + stream.writeInt(IBeanInfoIntrospectionConstants.PROPERTY_DECORATORS_SENT); stream.writeInt(properties.length); for (int i = 0; i < properties.length; i++) { PropertyDescriptor pd = properties[i]; @@ -590,10 +612,10 @@ public abstract class ModelingBeanInfo implements ICallback { usepr.bound = pd.isBound(); usepr.constrained = pd.isConstrained(); usepr.designTime = null; + usepr.field = null; fill(pd, usepr, useType); stream.writeObject(usepr); } - stream.close(); // We're done. } } @@ -604,19 +626,17 @@ public abstract class ModelingBeanInfo implements ICallback { * @throws IOException * @since 1.1.0 */ - public void sendMethodDecorators() throws IOException, CommandException { + public void sendMethodDecorators(ObjectOutputStream stream) throws IOException, CommandException { MethodDescriptor[] methods = getMethodDescriptors(); if (methods != null && methods.length > 0) { - ObjectOutputStream stream = new ObjectOutputStream(vmServer.requestStream(callbackID, - IBeanInfoIntrospectionConstants.METHOD_DECORATORS_SENT)); // Now start writing the records. + stream.writeInt(IBeanInfoIntrospectionConstants.DO_METHODS); stream.writeInt(methods.length); for (int i = 0; i < methods.length; i++) { MethodRecord mr = new MethodRecord(); fill(mr, methods[i]); stream.writeObject(mr); } - stream.close(); // We're done. } } @@ -650,12 +670,11 @@ public abstract class ModelingBeanInfo implements ICallback { * @throws IOException * @since 1.1.0 */ - public void sendEventDecorators() throws IOException, CommandException { + public void sendEventDecorators(ObjectOutputStream stream ) throws IOException, CommandException { EventSetDescriptor[] events = getEventSetDescriptors(); if (events != null && events.length > 0) { - ObjectOutputStream stream = new ObjectOutputStream(vmServer.requestStream(callbackID, - IBeanInfoIntrospectionConstants.EVENT_DECORATORS_SENT)); // Now start writing the records. + stream.writeInt(IBeanInfoIntrospectionConstants.DO_EVENTS); stream.writeInt(events.length); for (int i = 0; i < events.length; i++) { EventSetDescriptor ed = events[i]; @@ -678,7 +697,6 @@ public abstract class ModelingBeanInfo implements ICallback { fill(ed, er, EVENTSET_RECORD_TYPE); stream.writeObject(er); } - stream.close(); // We're done. } } @@ -715,6 +733,15 @@ public abstract class ModelingBeanInfo implements ICallback { if (BaseBeanInfo.DESIGNTIMEPROPERTY.equals(attributeName)) { ((PropertyRecord) record).designTime = (Boolean) descr.getValue(attributeName); return true; + } else if (BaseBeanInfo.FIELDPROPERTY.equals(attributeName)) { + Field f = (Field) descr.getValue(attributeName); + // We have a field, set the property type to this since we couldn't correctly create this otherwise. + PropertyRecord pr = (PropertyRecord) record; + pr.propertyTypeName = getClassName(f.getType()); + pr.field = getReflectedFieldRecord(f); + pr.readMethod = null; // Need to wipe out our dummy. + pr.writeMethod = null; // Or if it set, not valid for a field. + return true; } break; case EVENTSET_RECORD_TYPE: @@ -815,4 +842,15 @@ public abstract class ModelingBeanInfo implements ICallback { } else return null; } + + private ReflectFieldRecord getReflectedFieldRecord(Field field) { + if (field != null) { + ReflectFieldRecord rf = new ReflectFieldRecord(); + rf.className = getClassName(field.getDeclaringClass()); + rf.fieldName = field.getName(); + rf.readOnly = Modifier.isFinal(field.getModifiers()); + return rf; + } else + return null; + } }
\ No newline at end of file diff --git a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/ModelingBeanInfo15.java b/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/ModelingBeanInfo15.java index 9d51051b3..12b663b39 100644 --- a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/ModelingBeanInfo15.java +++ b/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/ModelingBeanInfo15.java @@ -11,7 +11,7 @@ package org.eclipse.jem.internal.beaninfo.vm; *******************************************************************************/ /* * $RCSfile: ModelingBeanInfo15.java,v $ - * $Revision: 1.1 $ $Date: 2005/02/04 23:11:53 $ + * $Revision: 1.2 $ $Date: 2005/02/08 21:54:02 $ */ import java.beans.BeanInfo; @@ -28,8 +28,8 @@ public class ModelingBeanInfo15 extends ModelingBeanInfo { * Constructor for ModelingBeanInfo15. * @param beanInfo */ - public ModelingBeanInfo15(BeanInfo beanInfo) { - super(beanInfo); + public ModelingBeanInfo15(BeanInfo beanInfo, int doFlags) { + super(beanInfo, doFlags); } /** @@ -37,7 +37,7 @@ public class ModelingBeanInfo15 extends ModelingBeanInfo { * @param beanInfo * @param superBeanInfo */ - public ModelingBeanInfo15(BeanInfo beanInfo, BeanInfo superBeanInfo) { - super(beanInfo, superBeanInfo); + public ModelingBeanInfo15(BeanInfo beanInfo, BeanInfo superBeanInfo, int doFlags) { + super(beanInfo, superBeanInfo, doFlags); } } diff --git a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/ModelingBeanInfoPre15.java b/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/ModelingBeanInfoPre15.java index 626efdbbe..61f544941 100644 --- a/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/ModelingBeanInfoPre15.java +++ b/plugins/org.eclipse.jem.beaninfo/vm_beaninfovm/org/eclipse/jem/internal/beaninfo/vm/ModelingBeanInfoPre15.java @@ -11,7 +11,7 @@ package org.eclipse.jem.internal.beaninfo.vm; *******************************************************************************/ /* * $RCSfile: ModelingBeanInfoPre15.java,v $ - * $Revision: 1.1 $ $Date: 2005/02/04 23:11:53 $ + * $Revision: 1.2 $ $Date: 2005/02/08 21:54:02 $ */ import java.beans.BeanInfo; @@ -21,11 +21,11 @@ import java.beans.BeanInfo; */ public class ModelingBeanInfoPre15 extends ModelingBeanInfo { - public ModelingBeanInfoPre15(BeanInfo beanInfo) { - super(beanInfo); + public ModelingBeanInfoPre15(BeanInfo beanInfo, int doFlags) { + super(beanInfo, doFlags); } - public ModelingBeanInfoPre15(BeanInfo beanInfo, BeanInfo superBeanInfo) { - super(beanInfo, superBeanInfo); + public ModelingBeanInfoPre15(BeanInfo beanInfo, BeanInfo superBeanInfo, int doFlags) { + super(beanInfo, superBeanInfo, doFlags); } } |