package reflection.constructors;
import reflection.AnnoT;
import reflection.AnnoT2;
import reflection.AnnoT3;
/**
* For testing constructor reloading and methods related to fetching annotation data from
* constructors.
*
* @author kdvolder
*/
public class ClassWithAnnotatedConstructors {
// We want our reloaded version to have
// - additional constructors (with annotations)
// - constructors with changed annotations
//The annotation will be removed
// @SuppressWarnings("unused")
private @AnnoT ClassWithAnnotatedConstructors() {}
//The attribute value will be changed
public @AnnoT3("first") ClassWithAnnotatedConstructors(int x) {}
//Annotations will be added
protected ClassWithAnnotatedConstructors(double x) {}
//Annotations will be changed (some added some removed)
protected @AnnoT @AnnoT3("haa") ClassWithAnnotatedConstructors(boolean x) {}
//Annotations are not changed at all
public @AnnoT @AnnoT2 @AnnoT3("haa") ClassWithAnnotatedConstructors(char x) {}
// Annotations in the parameters will change
public ClassWithAnnotatedConstructors(@AnnoT2 String x, @AnnoT3("bah") double y, @AnnoT boolean z) {}
// Annotations in the parameters will be removed
public ClassWithAnnotatedConstructors(@AnnoT2 double x, @AnnoT3("boohoo") double y, @AnnoT boolean z) {}
// Annotations in the parameters will be added
public ClassWithAnnotatedConstructors(char x, double y, boolean z) {}
}