diff options
Diffstat (limited to 'awt/java/beans/PropertyDescriptor.java')
| -rw-r--r-- | awt/java/beans/PropertyDescriptor.java | 300 | 
1 files changed, 0 insertions, 300 deletions
| diff --git a/awt/java/beans/PropertyDescriptor.java b/awt/java/beans/PropertyDescriptor.java deleted file mode 100644 index 93891525aa21..000000000000 --- a/awt/java/beans/PropertyDescriptor.java +++ /dev/null @@ -1,300 +0,0 @@ -/* - *  Licensed to the Apache Software Foundation (ASF) under one or more - *  contributor license agreements.  See the NOTICE file distributed with - *  this work for additional information regarding copyright ownership. - *  The ASF licenses this file to You under the Apache License, Version 2.0 - *  (the "License"); you may not use this file except in compliance with - *  the License.  You may obtain a copy of the License at - * - *     http://www.apache.org/licenses/LICENSE-2.0 - * - *  Unless required by applicable law or agreed to in writing, software - *  distributed under the License is distributed on an "AS IS" BASIS, - *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - *  See the License for the specific language governing permissions and - *  limitations under the License. - */ - -package java.beans; - -import java.lang.reflect.Constructor; -import java.lang.reflect.Method; -import java.lang.reflect.Modifier; -import java.util.Vector; -import org.apache.harmony.beans.internal.nls.Messages; - -public class PropertyDescriptor extends FeatureDescriptor { -    private Method getter; - -    private Method setter; - -    private Class<?> propertyEditorClass; - -    private boolean constrained; - -    private boolean bound; - -    public PropertyDescriptor(String propertyName, Class<?> beanClass, String getterName, -            String setterName) throws IntrospectionException { -        super(); -        if (beanClass == null) { -            throw new IntrospectionException(Messages.getString("beans.03")); //$NON-NLS-1$ -        } -        if (propertyName == null || propertyName.length() == 0) { -            throw new IntrospectionException(Messages.getString("beans.04")); //$NON-NLS-1$ -        } -        this.setName(propertyName); -        this.setDisplayName(propertyName); -        if (setterName != null) { -            if (hasMethod(beanClass, setterName)) { -                setWriteMethod(beanClass, setterName); -            } else { -                throw new IntrospectionException(Messages.getString("beans.20")); //$NON-NLS-1$ -            } -        } -        if (getterName != null) { -            if (hasMethod(beanClass, getterName)) { -                setReadMethod(beanClass, getterName); -            } else { -                throw new IntrospectionException(Messages.getString("beans.1F")); //$NON-NLS-1$ -            } -        } -    } - -    public PropertyDescriptor(String propertyName, Method getter, Method setter) -            throws IntrospectionException { -        super(); -        if (propertyName == null || propertyName.length() == 0) { -            throw new IntrospectionException(Messages.getString("beans.04")); //$NON-NLS-1$ -        } -        this.setName(propertyName); -        this.setDisplayName(propertyName); -        setWriteMethod(setter); -        setReadMethod(getter); -    } - -    public PropertyDescriptor(String propertyName, Class<?> beanClass) -            throws IntrospectionException { -        String getterName; -        String setterName; -        if (beanClass == null) { -            throw new IntrospectionException(Messages.getString("beans.03")); //$NON-NLS-1$ -        } -        if (propertyName == null || propertyName.length() == 0) { -            throw new IntrospectionException(Messages.getString("beans.04")); //$NON-NLS-1$ -        } -        this.setName(propertyName); -        this.setDisplayName(propertyName); -        getterName = createDefaultMethodName(propertyName, "is"); //$NON-NLS-1$ -        if (hasMethod(beanClass, getterName)) { -            setReadMethod(beanClass, getterName); -        } else { -            getterName = createDefaultMethodName(propertyName, "get"); //$NON-NLS-1$ -            if (hasMethod(beanClass, getterName)) { -                setReadMethod(beanClass, getterName); -            } -        } -        setterName = createDefaultMethodName(propertyName, "set"); //$NON-NLS-1$ -        if (hasMethod(beanClass, setterName)) { -            setWriteMethod(beanClass, setterName); -        } -        if (getter == null && setter == null) { -            throw new IntrospectionException(Messages.getString("beans.01", propertyName)); //$NON-NLS-1$ -        } -    } - -    public void setWriteMethod(Method setter) throws IntrospectionException { -        if (setter != null) { -            int modifiers = setter.getModifiers(); -            if (!Modifier.isPublic(modifiers)) { -                throw new IntrospectionException(Messages.getString("beans.05")); //$NON-NLS-1$ -            } -            Class<?>[] parameterTypes = setter.getParameterTypes(); -            if (parameterTypes.length != 1) { -                throw new IntrospectionException(Messages.getString("beans.06")); //$NON-NLS-1$ -            } -            Class<?> parameterType = parameterTypes[0]; -            Class<?> propertyType = getPropertyType(); -            if (propertyType != null && !propertyType.equals(parameterType)) { -                throw new IntrospectionException(Messages.getString("beans.07")); //$NON-NLS-1$ -            } -        } -        this.setter = setter; -    } - -    public void setReadMethod(Method getter) throws IntrospectionException { -        if (getter != null) { -            int modifiers = getter.getModifiers(); -            if (!Modifier.isPublic(modifiers)) { -                throw new IntrospectionException(Messages.getString("beans.0A")); //$NON-NLS-1$ -            } -            Class<?>[] parameterTypes = getter.getParameterTypes(); -            if (parameterTypes.length != 0) { -                throw new IntrospectionException(Messages.getString("beans.08")); //$NON-NLS-1$ -            } -            Class<?> returnType = getter.getReturnType(); -            if (returnType.equals(Void.TYPE)) { -                throw new IntrospectionException(Messages.getString("beans.33")); //$NON-NLS-1$ -            } -            Class<?> propertyType = getPropertyType(); -            if ((propertyType != null) && !returnType.equals(propertyType)) { -                throw new IntrospectionException(Messages.getString("beans.09")); //$NON-NLS-1$ -            } -        } -        this.getter = getter; -    } - -    public Method getWriteMethod() { -        return setter; -    } - -    public Method getReadMethod() { -        return getter; -    } - -    @Override -    public boolean equals(Object object) { -        boolean result = (object != null && object instanceof PropertyDescriptor); -        if (result) { -            PropertyDescriptor pd = (PropertyDescriptor) object; -            boolean gettersAreEqual = (this.getter == null) && (pd.getReadMethod() == null) -                    || (this.getter != null) && (this.getter.equals(pd.getReadMethod())); -            boolean settersAreEqual = (this.setter == null) && (pd.getWriteMethod() == null) -                    || (this.setter != null) && (this.setter.equals(pd.getWriteMethod())); -            boolean propertyTypesAreEqual = this.getPropertyType() == pd.getPropertyType(); -            boolean propertyEditorClassesAreEqual = this.getPropertyEditorClass() == pd -                    .getPropertyEditorClass(); -            boolean boundPropertyAreEqual = this.isBound() == pd.isBound(); -            boolean constrainedPropertyAreEqual = this.isConstrained() == pd.isConstrained(); -            result = gettersAreEqual && settersAreEqual && propertyTypesAreEqual -                    && propertyEditorClassesAreEqual && boundPropertyAreEqual -                    && constrainedPropertyAreEqual; -        } -        return result; -    } - -    public void setPropertyEditorClass(Class<?> propertyEditorClass) { -        this.propertyEditorClass = propertyEditorClass; -    } - -    public Class<?> getPropertyType() { -        Class<?> result = null; -        if (getter != null) { -            result = getter.getReturnType(); -        } else if (setter != null) { -            Class<?>[] parameterTypes = setter.getParameterTypes(); -            result = parameterTypes[0]; -        } -        return result; -    } - -    public Class<?> getPropertyEditorClass() { -        return propertyEditorClass; -    } - -    public void setConstrained(boolean constrained) { -        this.constrained = constrained; -    } - -    public void setBound(boolean bound) { -        this.bound = bound; -    } - -    public boolean isConstrained() { -        return constrained; -    } - -    public boolean isBound() { -        return bound; -    } - -    boolean hasMethod(Class<?> beanClass, String methodName) { -        Method[] methods = findMethods(beanClass, methodName); -        return (methods.length > 0); -    } - -    String createDefaultMethodName(String propertyName, String prefix) { -        String result = null; -        if (propertyName != null) { -            String bos = propertyName.substring(0, 1).toUpperCase(); -            String eos = propertyName.substring(1, propertyName.length()); -            result = prefix + bos + eos; -        } -        return result; -    } - -    Method[] findMethods(Class<?> aClass, String methodName) { -        Method[] allMethods = aClass.getMethods(); -        Vector<Method> matchedMethods = new Vector<Method>(); -        Method[] result; -        for (Method method : allMethods) { -            if (method.getName().equals(methodName)) { -                matchedMethods.add(method); -            } -        } -        result = new Method[matchedMethods.size()]; -        for (int j = 0; j < matchedMethods.size(); ++j) { -            result[j] = matchedMethods.elementAt(j); -        } -        return result; -    } - -    void setReadMethod(Class<?> beanClass, String getterName) { -        boolean result = false; -        Method[] getters = findMethods(beanClass, getterName); -        for (Method element : getters) { -            try { -                setReadMethod(element); -                result = true; -            } catch (IntrospectionException ie) { -            } -            if (result) { -                break; -            } -        } -    } - -    void setWriteMethod(Class<?> beanClass, String setterName) throws IntrospectionException { -        boolean result = false; -        Method[] setters = findMethods(beanClass, setterName); -        for (Method element : setters) { -            try { -                setWriteMethod(element); -                result = true; -            } catch (IntrospectionException ie) { -            } -            if (result) { -                break; -            } -        } -    } - -    public PropertyEditor createPropertyEditor(Object bean) { -        PropertyEditor editor; -        if (propertyEditorClass == null) { -            return null; -        } -        if (!PropertyEditor.class.isAssignableFrom(propertyEditorClass)) { -            // beans.48=Property editor is not assignable from the -            // PropertyEditor interface -            throw new ClassCastException(Messages.getString("beans.48")); //$NON-NLS-1$ -        } -        try { -            Constructor<?> constr; -            try { -                // try to look for the constructor with single Object argument -                constr = propertyEditorClass.getConstructor(Object.class); -                editor = (PropertyEditor) constr.newInstance(bean); -            } catch (NoSuchMethodException e) { -                // try no-argument constructor -                constr = propertyEditorClass.getConstructor(); -                editor = (PropertyEditor) constr.newInstance(); -            } -        } catch (Exception e) { -            // beans.47=Unable to instantiate property editor -            RuntimeException re = new RuntimeException(Messages.getString("beans.47"), e); //$NON-NLS-1$ -            throw re; -        } -        return editor; -    } -} | 
