From 2c550aab99a7f5dcdd1644835bdd4f3f2719612e Mon Sep 17 00:00:00 2001 From: Google Code Exporter Date: Fri, 17 Apr 2015 02:32:53 -0400 Subject: [PATCH] Migrating wiki contents from Google Code --- Documentation.md | 34 ++++++++++++++++++++++++++++++++++ ProjectHome.md | 20 ++++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 Documentation.md create mode 100644 ProjectHome.md diff --git a/Documentation.md b/Documentation.md new file mode 100644 index 0000000..b7668ce --- /dev/null +++ b/Documentation.md @@ -0,0 +1,34 @@ +## Introducing Java Reflection ## + +Java Reflection provides a small package with nifty Java reflection methods. + +Aside from a variety of utility functions, this library mainly aims to ease method/constructor lookups, using value conversions, such as autoboxing, auto casting, but also commons value conversions (such as Boolean to String and many more). + +Normal JDK method matching through reflection is very strict on the exact argument class types, but with this Java Reflection Library, this is much easier and more robust (and performs better). + +The main reason this project is available as open source is because it is a dependency of the [Swift Socket Server](https://code.google.com/p/swift-socket-server/) project, yet merited a project of its own. + +### Documentation ### + +Because of the size and nature of this little project, about four utility classes with only `static` methods, I will refer to the JavaDoc for all documentation. + +[JReflect](http://java-reflection.googlecode.com/svn/trunk/javadoc/users/org/codemonkey/javareflection/JReflect.html) | +[ValueConverter](http://java-reflection.googlecode.com/svn/trunk/javadoc/users/org/codemonkey/javareflection/ValueConverter.html) | +[FieldUtils](http://java-reflection.googlecode.com/svn/trunk/javadoc/users/org/codemonkey/javareflection/FieldUtils.html) | +[ExternalClassLoader](http://java-reflection.googlecode.com/svn/trunk/javadoc/users/org/codemonkey/javareflection/ExternalClassLoader.html) + +### What's inside ### + +#### Main features #### + + * an advanced utility class that finds and invokes methods/constructors based on a given list of values (optionally converting the values to the right type) + * a conversion class that is able to convert common value type to a different type (`boolean` to `Character` for example) + * an easy way to find an object's fields, optionally including setters/getters, restricted by a number of criteria (such as: should have a getter method, should be a `public` field etc.) + * an (experimental, but tested) ClassLoader that is able to resort to manually compile .class files and load them on the fly + +#### Extra features #### + + * a method that returns the autoboxed version of a value + * a convenience method that assign a value to an object's field directly + * a method that determines what the smallest `Number` type is that can hold a list of given number values of various types without losing precision + * various utility methods \ No newline at end of file diff --git a/ProjectHome.md b/ProjectHome.md new file mode 100644 index 0000000..1281d30 --- /dev/null +++ b/ProjectHome.md @@ -0,0 +1,20 @@ +# Java Reflection # + +**Java Reflection provides a small package with nifty reflection features that will help with finding constructors, methods and value conversions**. + +The main reason this project is available as open source is because it is a dependency of the [Swift Socket Server](https://code.google.com/p/swift-socket-server/) project, yet merited a project of its own. + +Main features: + + * an advanced utility class that finds and invokes methods/constructors based on a given list of values (optionally converting the values to the right type) + * a conversion class that is able to convert common value type to a different type (`boolean` to `Character` for example) + * an easy way to find an object's fields, optionally including setters/getters, restricted by a number of criteria (such as: should have a getter method, should be a `public` field etc.) + * an (experimental, but tested) ClassLoader that is able to resort to manually compile .class files and load them on the fly + +Extra features: + + * a method that returns the autoboxed version of a value + * a convenience method that assign a value to an object's field directly + * a method that determines what the smallest `Number` type is that can hold a list of given number values of various types without losing precision + * various utility methods +