annotate src/main/java/alice/Annotation/AliceAnnotationTest.java @ 635:0423eb7fd9ee

work create Receiver from Annotation. Please invoke setKey after create all Receiver.
author Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
date Sun, 03 Dec 2017 00:09:04 +0900
parents 69f9c5ff1df9
children 33f300d0720a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
630
77adeb85c4d0 add Annotation
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 package alice.Annotation;
77adeb85c4d0 add Annotation
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2
633
746447b7c3e0 add CreateCodeSegment Factory
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents: 630
diff changeset
3 import alice.codesegment.CreateCodeSegment;
630
77adeb85c4d0 add Annotation
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 import alice.codesegment.InputDataSegment;
77adeb85c4d0 add Annotation
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 import alice.datasegment.CommandType;
77adeb85c4d0 add Annotation
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 import alice.datasegment.Receiver;
77adeb85c4d0 add Annotation
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7
77adeb85c4d0 add Annotation
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 import java.lang.annotation.Annotation;
77adeb85c4d0 add Annotation
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 import java.lang.reflect.Field;
77adeb85c4d0 add Annotation
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 import java.lang.reflect.Array;
77adeb85c4d0 add Annotation
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 import java.lang.reflect.Method;
77adeb85c4d0 add Annotation
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
12
77adeb85c4d0 add Annotation
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 /**
77adeb85c4d0 add Annotation
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 * Created by e125769 on 11/14/17.
77adeb85c4d0 add Annotation
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 */
77adeb85c4d0 add Annotation
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 public class AliceAnnotationTest {
77adeb85c4d0 add Annotation
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 public static void main(String[] args){
634
69f9c5ff1df9 work reflection setKey, but not correct
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents: 633
diff changeset
18 //CreateCodeSegment createCodeSegment = new CreateCodeSegment(AliceAnnotation.class);
69f9c5ff1df9 work reflection setKey, but not correct
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents: 633
diff changeset
19 //createCodeSegment.run();
69f9c5ff1df9 work reflection setKey, but not correct
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents: 633
diff changeset
20 AliceAnnotation alice = new AliceAnnotation();
69f9c5ff1df9 work reflection setKey, but not correct
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents: 633
diff changeset
21 //alice.ods.put("hoge", "hogehogehgoe");
69f9c5ff1df9 work reflection setKey, but not correct
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents: 633
diff changeset
22 //alice.ods.put("huga", "hugahugahuga");
630
77adeb85c4d0 add Annotation
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 }
77adeb85c4d0 add Annotation
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
24
77adeb85c4d0 add Annotation
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 public void test(AliceAnnotation alice){
77adeb85c4d0 add Annotation
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 Class<AliceAnnotation> aliceAnnotationClass = AliceAnnotation.class;
77adeb85c4d0 add Annotation
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
27
634
69f9c5ff1df9 work reflection setKey, but not correct
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents: 633
diff changeset
28 for (Field field : aliceAnnotationClass.getDeclaredFields()) {
630
77adeb85c4d0 add Annotation
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 if (field.isAnnotationPresent(Take.class)){
77adeb85c4d0 add Annotation
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 System.out.println(field.getName());
77adeb85c4d0 add Annotation
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 System.out.println(field.getType());
77adeb85c4d0 add Annotation
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 Take i = field.getAnnotation(Take.class);
77adeb85c4d0 add Annotation
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 System.out.println(i.value());
634
69f9c5ff1df9 work reflection setKey, but not correct
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents: 633
diff changeset
34 Receiver receiver = alice.ids.create(CommandType.TAKE);
630
77adeb85c4d0 add Annotation
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 receiver.setKey(i.value());
77adeb85c4d0 add Annotation
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 }
634
69f9c5ff1df9 work reflection setKey, but not correct
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents: 633
diff changeset
37 }
630
77adeb85c4d0 add Annotation
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 }
77adeb85c4d0 add Annotation
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 }