/*
* Copyright (C) 2015 Red Hat, Inc. and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jboss.errai.reflections;
import java.lang.annotation.Retention;
import java.lang.annotation.Inherited;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
/**
*
*/
@SuppressWarnings({"ALL"})
public interface TestModel {
public @Retention(RUNTIME) @Inherited @interface MAI1 {}
public @Retention(RUNTIME) @MAI1 @interface AI1 {}
public @AI1 interface I1 {}
public @Retention(RUNTIME) @Inherited @interface AI2 {}
public @AI2 interface I2 extends I1 {}
public @Retention(RUNTIME) @Inherited @interface AC1 {}
public @AC1 class C1 implements I2 {}
public @Retention(RUNTIME) @interface AC2 {
public abstract String value();
}
public @AC2("grr...") class C2 extends C1 {}
public @AC2("ugh?!") class C3 extends C1 {}
public @Retention(RUNTIME) @interface AM1 {
public abstract String value();
}
public @Retention(RUNTIME) @interface AF1 {
public abstract String value();
}
public class C4 {
@AF1("1") private String f1;
@AF1("2") protected String f2;
protected String f3;
@AM1("1") protected void m1() {}
@AM1("1") public void m1(int integer, String... strings) {}
@AM1("1") public void m1(int[][] integer, String[][] strings) {}
@AM1("2") public String m3() {return null;}
public String m4(@AM1("2") String string) {return null;}
public C3 c2toC3(C2 c2) {return null;}
}
public class C5 extends C3 {}
public @AC2("ugh?!") interface I3 {}
public class C6 implements I3 {}
}