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 ); }