]> source.dussan.org Git - vaadin-framework.git/commitdiff
Moved ReflectTools to com.vaadin.util (#4294)
authorArtur Signell <artur@vaadin.com>
Tue, 4 Sep 2012 05:27:07 +0000 (08:27 +0300)
committerArtur Signell <artur@vaadin.com>
Tue, 4 Sep 2012 05:27:07 +0000 (08:27 +0300)
15 files changed:
server/src/com/vaadin/Application.java
server/src/com/vaadin/data/fieldgroup/FieldGroup.java
server/src/com/vaadin/event/FieldEvents.java
server/src/com/vaadin/event/LayoutEvents.java
server/src/com/vaadin/event/MouseEvents.java
server/src/com/vaadin/server/AddonContext.java
server/src/com/vaadin/server/JavaScriptCallbackHelper.java
server/src/com/vaadin/server/Page.java
server/src/com/vaadin/tools/ReflectTools.java [deleted file]
server/src/com/vaadin/ui/AbstractComponent.java
server/src/com/vaadin/ui/AbstractSplitPanel.java
server/src/com/vaadin/ui/Button.java
server/src/com/vaadin/ui/Tree.java
server/src/com/vaadin/ui/UI.java
server/src/com/vaadin/util/ReflectTools.java [new file with mode: 0644]

index 7af5852512001d31e969701de94f13d937e4a9dd..fd8c73aa8fe518cb49d633f658afe1681d07860f 100644 (file)
@@ -69,12 +69,12 @@ import com.vaadin.server.WrappedRequest;
 import com.vaadin.server.WrappedRequest.BrowserDetails;
 import com.vaadin.server.WrappedResponse;
 import com.vaadin.shared.ui.ui.UIConstants;
-import com.vaadin.tools.ReflectTools;
 import com.vaadin.ui.AbstractComponent;
 import com.vaadin.ui.AbstractField;
 import com.vaadin.ui.Table;
 import com.vaadin.ui.UI;
 import com.vaadin.ui.Window;
+import com.vaadin.util.ReflectTools;
 
 /**
  * <p>
index d79697f548a613fddf3629303b4e6d6007e2b9da..9fe99610b26b4b4c88c454c4c54c394d69e356ef 100644 (file)
@@ -29,10 +29,10 @@ import com.vaadin.data.Item;
 import com.vaadin.data.Property;
 import com.vaadin.data.Validator.InvalidValueException;
 import com.vaadin.data.util.TransactionalPropertyWrapper;
-import com.vaadin.tools.ReflectTools;
 import com.vaadin.ui.DefaultFieldFactory;
 import com.vaadin.ui.Field;
 import com.vaadin.ui.Form;
+import com.vaadin.util.ReflectTools;
 
 /**
  * FieldGroup provides an easy way of binding fields to data and handling
index 10df08291e7908f3d955e4ac9a6fec5a7ccb393b..3da60ee46692d21e921e4c7b2c832119882af240 100644 (file)
@@ -21,12 +21,12 @@ import java.lang.reflect.Method;
 
 import com.vaadin.shared.EventId;
 import com.vaadin.shared.communication.FieldRpc.FocusAndBlurServerRpc;
-import com.vaadin.tools.ReflectTools;
 import com.vaadin.ui.Component;
 import com.vaadin.ui.Component.Event;
 import com.vaadin.ui.Field;
 import com.vaadin.ui.Field.ValueChangeEvent;
 import com.vaadin.ui.TextField;
+import com.vaadin.util.ReflectTools;
 
 /**
  * Interface that serves as a wrapper for {@link Field} related events.
index 7f88ddc640b47f2e439c2e03d3eae330af0c59b8..c113ff15953fa31e0afbb3e7162c8ba2c816e342 100644 (file)
@@ -21,9 +21,9 @@ import java.lang.reflect.Method;
 import com.vaadin.event.MouseEvents.ClickEvent;
 import com.vaadin.shared.Connector;
 import com.vaadin.shared.MouseEventDetails;
-import com.vaadin.tools.ReflectTools;
 import com.vaadin.ui.Component;
 import com.vaadin.ui.ComponentContainer;
+import com.vaadin.util.ReflectTools;
 
 public interface LayoutEvents {
 
index 0fe9902b2ed28d560e8435f9b632798613e32f15..6712ef79a59a8a142c18ed866cc60b7f2df1633d 100644 (file)
@@ -19,8 +19,8 @@ package com.vaadin.event;
 import java.lang.reflect.Method;
 
 import com.vaadin.shared.MouseEventDetails;
-import com.vaadin.tools.ReflectTools;
 import com.vaadin.ui.Component;
+import com.vaadin.util.ReflectTools;
 
 /**
  * Interface that serves as a wrapper for mouse related events.
index b3cd5ea2265e6ff1d304f46d9a30269540517fb3..c9f2ac07ebd7ed981217a58b1da3e07ab2fbfe95 100644 (file)
@@ -24,7 +24,7 @@ import java.util.ServiceLoader;
 
 import com.vaadin.Application;
 import com.vaadin.event.EventRouter;
-import com.vaadin.tools.ReflectTools;
+import com.vaadin.util.ReflectTools;
 
 /**
  * Point of entry for add-ons for integrating into various aspects of the
index 19b19ce824c933b213ca41b683a3dc3336a93407..d17ae711142a7e39ade5bdb854080dc92cd1ccbc 100644 (file)
@@ -27,10 +27,10 @@ import java.util.Set;
 import com.vaadin.external.json.JSONArray;
 import com.vaadin.external.json.JSONException;
 import com.vaadin.shared.JavaScriptConnectorState;
-import com.vaadin.tools.ReflectTools;
 import com.vaadin.ui.AbstractJavaScriptComponent;
 import com.vaadin.ui.JavaScript.JavaScriptCallbackRpc;
 import com.vaadin.ui.JavaScriptFunction;
+import com.vaadin.util.ReflectTools;
 
 /**
  * Internal helper class used to implement functionality common to
index da172ed837b3e8ee799438d7f6c9b3d9e13d6c74..b5718d10bb444c489eb601e9d55ae25ad2c1e628 100644 (file)
@@ -28,10 +28,10 @@ import com.vaadin.server.WrappedRequest.BrowserDetails;
 import com.vaadin.shared.ui.BorderStyle;
 import com.vaadin.shared.ui.ui.PageClientRpc;
 import com.vaadin.shared.ui.ui.UIConstants;
-import com.vaadin.tools.ReflectTools;
 import com.vaadin.ui.JavaScript;
 import com.vaadin.ui.Notification;
 import com.vaadin.ui.UI;
+import com.vaadin.util.ReflectTools;
 
 public class Page implements Serializable {
 
diff --git a/server/src/com/vaadin/tools/ReflectTools.java b/server/src/com/vaadin/tools/ReflectTools.java
deleted file mode 100644 (file)
index fcfe005..0000000
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Copyright 2011 Vaadin Ltd.
- * 
- * Licensed 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 com.vaadin.tools;
-
-import java.beans.IntrospectionException;
-import java.beans.PropertyDescriptor;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-/**
- * An util class with helpers for reflection operations. Used internally by
- * Vaadin and should not be used by application developers. Subject to change at
- * any time.
- * 
- * @since 6.2
- */
-public class ReflectTools {
-    /**
-     * Locates the method in the given class. Returns null if the method is not
-     * found. Throws an ExceptionInInitializerError if there is a problem
-     * locating the method as this is mainly called from static blocks.
-     * 
-     * @param cls
-     *            Class that contains the method
-     * @param methodName
-     *            The name of the method
-     * @param parameterTypes
-     *            The parameter types for the method.
-     * @return A reference to the method
-     * @throws ExceptionInInitializerError
-     *             Wraps any exception in an {@link ExceptionInInitializerError}
-     *             so this method can be called from a static initializer.
-     */
-    public static Method findMethod(Class<?> cls, String methodName,
-            Class<?>... parameterTypes) throws ExceptionInInitializerError {
-        try {
-            return cls.getDeclaredMethod(methodName, parameterTypes);
-        } catch (Exception e) {
-            throw new ExceptionInInitializerError(e);
-        }
-    }
-
-    /**
-     * Returns the value of the java field.
-     * <p>
-     * Uses getter if present, otherwise tries to access even private fields
-     * directly.
-     * 
-     * @param object
-     *            The object containing the field
-     * @param field
-     *            The field we want to get the value for
-     * @return The value of the field in the object
-     * @throws InvocationTargetException
-     *             If the value could not be retrieved
-     * @throws IllegalAccessException
-     *             If the value could not be retrieved
-     * @throws IllegalArgumentException
-     *             If the value could not be retrieved
-     */
-    public static Object getJavaFieldValue(Object object,
-            java.lang.reflect.Field field) throws IllegalArgumentException,
-            IllegalAccessException, InvocationTargetException {
-        PropertyDescriptor pd;
-        try {
-            pd = new PropertyDescriptor(field.getName(), object.getClass());
-            Method getter = pd.getReadMethod();
-            if (getter != null) {
-                return getter.invoke(object, (Object[]) null);
-            }
-        } catch (IntrospectionException e1) {
-            // Ignore this and try to get directly using the field
-        }
-
-        // Try to get the value or throw an exception
-        if (!field.isAccessible()) {
-            // Try to gain access even if field is private
-            field.setAccessible(true);
-        }
-        return field.get(object);
-    }
-
-    /**
-     * Sets the value of a java field.
-     * <p>
-     * Uses setter if present, otherwise tries to access even private fields
-     * directly.
-     * 
-     * @param object
-     *            The object containing the field
-     * @param field
-     *            The field we want to set the value for
-     * @param value
-     *            The value to set
-     * @throws IllegalAccessException
-     *             If the value could not be assigned to the field
-     * @throws IllegalArgumentException
-     *             If the value could not be assigned to the field
-     * @throws InvocationTargetException
-     *             If the value could not be assigned to the field
-     */
-    public static void setJavaFieldValue(Object object,
-            java.lang.reflect.Field field, Object value)
-            throws IllegalAccessException, IllegalArgumentException,
-            InvocationTargetException {
-        PropertyDescriptor pd;
-        try {
-            pd = new PropertyDescriptor(field.getName(), object.getClass());
-            Method setter = pd.getWriteMethod();
-            if (setter != null) {
-                // Exceptions are thrown forward if this fails
-                setter.invoke(object, value);
-            }
-        } catch (IntrospectionException e1) {
-            // Ignore this and try to set directly using the field
-        }
-
-        // Try to set the value directly to the field or throw an exception
-        if (!field.isAccessible()) {
-            // Try to gain access even if field is private
-            field.setAccessible(true);
-        }
-        field.set(object, value);
-    }
-}
index 97883b780ffecf89cf8654505dc7fd72a9c22e69..37ca9f1a0302c1c31f6e93253170e68e3d1b041d 100644 (file)
@@ -41,7 +41,7 @@ import com.vaadin.server.Terminal;
 import com.vaadin.shared.ComponentConstants;
 import com.vaadin.shared.ComponentState;
 import com.vaadin.shared.ui.ComponentStateUtil;
-import com.vaadin.tools.ReflectTools;
+import com.vaadin.util.ReflectTools;
 
 /**
  * An abstract class that defines default implementation for the
index c5df57b36f3687808a2f67f9601da1d92524fc3d..93c4ec4f59b72cbe7b8eda47b054c4f520f1b225 100644 (file)
@@ -28,7 +28,7 @@ import com.vaadin.shared.MouseEventDetails;
 import com.vaadin.shared.ui.splitpanel.AbstractSplitPanelRpc;
 import com.vaadin.shared.ui.splitpanel.AbstractSplitPanelState;
 import com.vaadin.shared.ui.splitpanel.AbstractSplitPanelState.SplitterState;
-import com.vaadin.tools.ReflectTools;
+import com.vaadin.util.ReflectTools;
 
 /**
  * AbstractSplitPanel.
index bbed7d540f7fd73147000cd7944c63f8de719f93..ec75d2da9b3b7455b0c8f59ed305592fb21915a9 100644 (file)
@@ -33,8 +33,8 @@ import com.vaadin.event.ShortcutListener;
 import com.vaadin.shared.MouseEventDetails;
 import com.vaadin.shared.ui.button.ButtonServerRpc;
 import com.vaadin.shared.ui.button.ButtonState;
-import com.vaadin.tools.ReflectTools;
 import com.vaadin.ui.Component.Focusable;
+import com.vaadin.util.ReflectTools;
 
 /**
  * A generic button component.
index 03895a12bb9b2dc8570b16668e742ce8f51b2614..ad3674fe1ece4ae393de6f8e933fa61dfbcf864b 100644 (file)
@@ -56,7 +56,7 @@ import com.vaadin.server.Resource;
 import com.vaadin.shared.MouseEventDetails;
 import com.vaadin.shared.ui.dd.VerticalDropLocation;
 import com.vaadin.shared.ui.tree.TreeConstants;
-import com.vaadin.tools.ReflectTools;
+import com.vaadin.util.ReflectTools;
 
 /**
  * Tree component. A Tree can be used to select an item (or multiple items) from
index 0f914d3947e2c5a4bd7f1927f58554cd992cbdfb..4b861d7a252ddfa8b798a091033edbdbe94c79d1 100644 (file)
@@ -49,7 +49,7 @@ import com.vaadin.shared.ui.BorderStyle;
 import com.vaadin.shared.ui.ui.UIConstants;
 import com.vaadin.shared.ui.ui.UIServerRpc;
 import com.vaadin.shared.ui.ui.UIState;
-import com.vaadin.tools.ReflectTools;
+import com.vaadin.util.ReflectTools;
 
 /**
  * The topmost component in any component hierarchy. There is one UI for every
diff --git a/server/src/com/vaadin/util/ReflectTools.java b/server/src/com/vaadin/util/ReflectTools.java
new file mode 100644 (file)
index 0000000..285d876
--- /dev/null
@@ -0,0 +1,138 @@
+/*
+ * Copyright 2011 Vaadin Ltd.
+ * 
+ * Licensed 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 com.vaadin.util;
+
+import java.beans.IntrospectionException;
+import java.beans.PropertyDescriptor;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+/**
+ * An util class with helpers for reflection operations. Used internally by
+ * Vaadin and should not be used by application developers. Subject to change at
+ * any time.
+ * 
+ * @since 6.2
+ */
+public class ReflectTools {
+    /**
+     * Locates the method in the given class. Returns null if the method is not
+     * found. Throws an ExceptionInInitializerError if there is a problem
+     * locating the method as this is mainly called from static blocks.
+     * 
+     * @param cls
+     *            Class that contains the method
+     * @param methodName
+     *            The name of the method
+     * @param parameterTypes
+     *            The parameter types for the method.
+     * @return A reference to the method
+     * @throws ExceptionInInitializerError
+     *             Wraps any exception in an {@link ExceptionInInitializerError}
+     *             so this method can be called from a static initializer.
+     */
+    public static Method findMethod(Class<?> cls, String methodName,
+            Class<?>... parameterTypes) throws ExceptionInInitializerError {
+        try {
+            return cls.getDeclaredMethod(methodName, parameterTypes);
+        } catch (Exception e) {
+            throw new ExceptionInInitializerError(e);
+        }
+    }
+
+    /**
+     * Returns the value of the java field.
+     * <p>
+     * Uses getter if present, otherwise tries to access even private fields
+     * directly.
+     * 
+     * @param object
+     *            The object containing the field
+     * @param field
+     *            The field we want to get the value for
+     * @return The value of the field in the object
+     * @throws InvocationTargetException
+     *             If the value could not be retrieved
+     * @throws IllegalAccessException
+     *             If the value could not be retrieved
+     * @throws IllegalArgumentException
+     *             If the value could not be retrieved
+     */
+    public static Object getJavaFieldValue(Object object,
+            java.lang.reflect.Field field) throws IllegalArgumentException,
+            IllegalAccessException, InvocationTargetException {
+        PropertyDescriptor pd;
+        try {
+            pd = new PropertyDescriptor(field.getName(), object.getClass());
+            Method getter = pd.getReadMethod();
+            if (getter != null) {
+                return getter.invoke(object, (Object[]) null);
+            }
+        } catch (IntrospectionException e1) {
+            // Ignore this and try to get directly using the field
+        }
+
+        // Try to get the value or throw an exception
+        if (!field.isAccessible()) {
+            // Try to gain access even if field is private
+            field.setAccessible(true);
+        }
+        return field.get(object);
+    }
+
+    /**
+     * Sets the value of a java field.
+     * <p>
+     * Uses setter if present, otherwise tries to access even private fields
+     * directly.
+     * 
+     * @param object
+     *            The object containing the field
+     * @param field
+     *            The field we want to set the value for
+     * @param value
+     *            The value to set
+     * @throws IllegalAccessException
+     *             If the value could not be assigned to the field
+     * @throws IllegalArgumentException
+     *             If the value could not be assigned to the field
+     * @throws InvocationTargetException
+     *             If the value could not be assigned to the field
+     */
+    public static void setJavaFieldValue(Object object,
+            java.lang.reflect.Field field, Object value)
+            throws IllegalAccessException, IllegalArgumentException,
+            InvocationTargetException {
+        PropertyDescriptor pd;
+        try {
+            pd = new PropertyDescriptor(field.getName(), object.getClass());
+            Method setter = pd.getWriteMethod();
+            if (setter != null) {
+                // Exceptions are thrown forward if this fails
+                setter.invoke(object, value);
+            }
+        } catch (IntrospectionException e1) {
+            // Ignore this and try to set directly using the field
+        }
+
+        // Try to set the value directly to the field or throw an exception
+        if (!field.isAccessible()) {
+            // Try to gain access even if field is private
+            field.setAccessible(true);
+        }
+        field.set(object, value);
+    }
+}