fj.test.reflect.package-info Maven / Gradle / Ivy
/**
* A wrapper around the fj.test
package that uses annotations for configuring properties to
* check. The properties are found using reflection. All annotations
* are optional and a property is eligible for checking by default. A property is any of the
* following member descriptions, unless the member or enclosing class is annotated with
* {@link fj.test.reflect.NoCheck}.
*
- a static field of type {@link fj.test.Property}.
- a static zero argument method that returns {@link fj.test.Property}.
- a non-static field of type {@link fj.test.Property} in a class with a zero-argument constructor.
- a non-static no-argument method that returns {@link fj.test.Property} in a class with a no-argument
constructor.
*
*
* A property may be in zero or more categories by annotating the member or enclosing class with
* {@link fj.test.reflect.Category}. The property is in the set of categories that make up the
* union of its member and enclosing class category annotation.
*
*
* When a property is checked, it uses default configuration values, which may be overridden by
* annotating the member or the enclosing class with the {@link fj.test.reflect.CheckParams}
* annotation. The values used are first those specified on the member; or if the annotation does
* not exist, then the enclosing class (default values otherwise).
*
*
* A property can have a name associated with it by annotating the member with the
* {@link fj.test.reflect.Name} annotation. The name is a {@link java.lang.String} that is used
* only for reporting in check results. If the {@link fj.test.reflect.Name} annotation does not
* appear on a property member, then the field or method name is used by default.
*
*
* @version %build.number%
*/
package fj.test.reflect;