vittorio130881
08-01-2015, 11:01
ciao ragazzi domanda piuttosto ostica (almeno per me)
data questa annotazione che in un certo programa viene ripetuta due volte con valori diversi
@Repeatable(TestTriggers.class)
public @interface TestTrigger {
String quando();
StrumentoDiTest come() default StrumentoDiTest.JUNIT; public enum StrumentoDiTest { JUNIT, GUI, JMETER, SOAPUI; } }
qui dichiariamo il contenitore triggers (non trigger) che ha un array di trigger
import java.lang.annotation.*;
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@Inherited
@Documented
public @interface TestTriggers {
TestTrigger[] value();
}
poi il testo su cui studio fa una reflection sulla class TestRepeatable su cui ho applicato per due volte la TestTrigger con i valori "come" e "quando" diversi....
Class<TestRepeatable> testRepeatableClass = TestRepeatable.class;
TestTriggers [] annotations = testRepeatableClass.getAnnotationsByType(TestTriggers.class);
for (TestTriggers testTriggers: annotations)
{ TestTrigger[] values = testTriggers.value();
for(TestTrigger testTrigger: values)
{ System.out.println(testTrigger.quando());
System.out.println(testTrigger.come());
}
}
la domanda è questa... questo comando
TestTriggers [] annotations = testRepeatableClass.getAnnotationsByType(TestTriggers.class);
perchè necessita di un array? cioè il TestTriggers contenitore non è uno soltanto?
io pensavo fosse così, ovvero TestTrigger senza s
TestTrigger [] annotations = testRepeatableClass.getAnnotationsByType(TestTriggers.class);
for(TestTrigger testTrigger: annotations)
{ System.out.println(testTrigger.quando());
System.out.println(testTrigger.come());
potete aiutarmi please?
insomma cosa mi da getAnnotationsByType
data questa annotazione che in un certo programa viene ripetuta due volte con valori diversi
@Repeatable(TestTriggers.class)
public @interface TestTrigger {
String quando();
StrumentoDiTest come() default StrumentoDiTest.JUNIT; public enum StrumentoDiTest { JUNIT, GUI, JMETER, SOAPUI; } }
qui dichiariamo il contenitore triggers (non trigger) che ha un array di trigger
import java.lang.annotation.*;
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@Inherited
@Documented
public @interface TestTriggers {
TestTrigger[] value();
}
poi il testo su cui studio fa una reflection sulla class TestRepeatable su cui ho applicato per due volte la TestTrigger con i valori "come" e "quando" diversi....
Class<TestRepeatable> testRepeatableClass = TestRepeatable.class;
TestTriggers [] annotations = testRepeatableClass.getAnnotationsByType(TestTriggers.class);
for (TestTriggers testTriggers: annotations)
{ TestTrigger[] values = testTriggers.value();
for(TestTrigger testTrigger: values)
{ System.out.println(testTrigger.quando());
System.out.println(testTrigger.come());
}
}
la domanda è questa... questo comando
TestTriggers [] annotations = testRepeatableClass.getAnnotationsByType(TestTriggers.class);
perchè necessita di un array? cioè il TestTriggers contenitore non è uno soltanto?
io pensavo fosse così, ovvero TestTrigger senza s
TestTrigger [] annotations = testRepeatableClass.getAnnotationsByType(TestTriggers.class);
for(TestTrigger testTrigger: annotations)
{ System.out.println(testTrigger.quando());
System.out.println(testTrigger.come());
potete aiutarmi please?
insomma cosa mi da getAnnotationsByType