diff src/main/java/christie/codegear/CodeGear.java @ 36:4479d37c8e53

change put syntax
author Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
date Wed, 28 Feb 2018 20:32:36 +0900
parents 307ac87ddcf7
children 20f7270e997d
line wrap: on
line diff
--- a/src/main/java/christie/codegear/CodeGear.java	Sun Feb 18 23:44:15 2018 +0900
+++ b/src/main/java/christie/codegear/CodeGear.java	Wed Feb 28 20:32:36 2018 +0900
@@ -38,7 +38,7 @@
             } else if (field.isAnnotationPresent(Peek.class)) {
                 Peek ano = field.getAnnotation(Peek.class);
                 setPeekCommand("local", field.getName(), new DataGear(field.getType()));
-            } if (field.isAnnotationPresent(TakeFrom.class)) {
+            } else if (field.isAnnotationPresent(TakeFrom.class)) {
                 TakeFrom ano = field.getAnnotation(TakeFrom.class);
                 setTakeCommand(ano.value(), field.getName(), new DataGear(field.getType()));
             } else if (field.isAnnotationPresent(PeekFrom.class)) {
@@ -66,6 +66,26 @@
         return cgm.getDGM(dgmName);
     }
 
+    public void put(String dgmName, String key, Object data){
+        getDGM(dgmName).put(key, data);
+    }
+
+    public void put(String key, Object value){
+        localDGM.put(key, value);
+    }
+
+    public void flip(String dgmName, String key){//ToDo: これ値を編集できるからflipできてない。初期値をflipしたい。
+        for (Field field : this.getClass().getDeclaredFields()) {
+            if (field.getName() == key){
+                try {
+                    getDGM(dgmName).put(key, field.get(this));
+                } catch (IllegalAccessException e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+    }
+
     public InputDataGear getIdg() {
         return idg;
     }