You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by br...@apache.org on 2013/02/12 22:11:33 UTC
svn commit: r1445367 -
/commons/sandbox/beanutils2/trunk/src/main/java/org/apache/commons/beanutils2/ClassAccessor.java
Author: britter
Date: Tue Feb 12 21:11:33 2013
New Revision: 1445367
URL: http://svn.apache.org/r1445367
Log:
Add JavaDoc for ClassAccessor - no functional changes
Modified:
commons/sandbox/beanutils2/trunk/src/main/java/org/apache/commons/beanutils2/ClassAccessor.java
Modified: commons/sandbox/beanutils2/trunk/src/main/java/org/apache/commons/beanutils2/ClassAccessor.java
URL: http://svn.apache.org/viewvc/commons/sandbox/beanutils2/trunk/src/main/java/org/apache/commons/beanutils2/ClassAccessor.java?rev=1445367&r1=1445366&r2=1445367&view=diff
==============================================================================
--- commons/sandbox/beanutils2/trunk/src/main/java/org/apache/commons/beanutils2/ClassAccessor.java (original)
+++ commons/sandbox/beanutils2/trunk/src/main/java/org/apache/commons/beanutils2/ClassAccessor.java Tue Feb 12 21:11:33 2013
@@ -19,24 +19,69 @@ package org.apache.commons.beanutils2;
* under the License.
*/
+/**
+ * Provides access to constructors and static methods on classes.
+ *
+ * @param <B> The type modeled by this {@code ClassAccessor}.
+ */
public interface ClassAccessor<B>
{
// constructors
+ /**
+ * Creates a new instance of type {@code B} by calling the parameterless constructor of the wrapped class.
+ *
+ * @para<B> the type of the new instance
+ * @return a {@link BeanAccessor} that wraps the new instance.
+ */
BeanAccessor<B> newInstance();
+ /**
+ * Invokes the constructor with the parameter list represented by {@code arguments} on the wrapped class. Primitive
+ * types may be converted to wrapper types and vice versa to match the methods signature.
+ *
+ * @param arguments the list of arguments to invoke the constructor with.
+ * @return a {@link BeanAccessor} that wrapped the new instance
+ */
BeanAccessor<B> invokeConstructor( Argument<?>... arguments );
+ /**
+ * Invokes the constructor with the parameter list represented by {@code arguments} on the wrapped class. Invoking
+ * an exact constructor in this context means to not perform any type conversations during invocation.
+ *
+ * @param arguments the list of arguments to invoke the constructor with.
+ * @return a {@link BeanAccessor} that wrapped the new instance
+ */
BeanAccessor<B> invokeExactConstructor( Argument<?>...arguments );
+
// bean properties
+ /**
+ * Provides access to the {@link BeanProperties} defined by the wrapped class.
+ *
+ * @return the {@link BeanProperties} for the wrapped class.
+ */
BeanProperties<B> getProperties();
// static methods invocation
+ /**
+ * Invokes the method with name {@code methodName} on the wrapped class. Primitive types may be converted to wrapper
+ * types and vice versa to match the methods signature.
+ *
+ * @param methodName the name of the method to invoke. Must not be {@code null}!
+ * @return the {@link ArgumentsAccessor} for this method invocation.
+ */
ArgumentsAccessor invokeStatic( String methodName );
+ /**
+ * Invokes the method with name {@code methodName} on the wrapped class. Invoking an exact method in this context
+ * means to not perform any type conversations during invocation.
+ *
+ * @param methodName the name of the method to invoke. Must not be {@code null}!
+ * @return the {@link ArgumentsAccessor} for this method invocation.
+ */
ArgumentsAccessor invokeExactStatic( String methodName );
}