Mercurial > hg > Database > Christie
diff src/main/java/christie/codegear/CodeGear.java @ 7:21372a589bd3
add CodeGearExecutor
author | Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 27 Dec 2017 18:42:46 +0900 |
parents | 3dcfe63d6394 |
children | 4b608ce0c483 |
line wrap: on
line diff
--- a/src/main/java/christie/codegear/CodeGear.java Wed Dec 27 00:06:50 2017 +0900 +++ b/src/main/java/christie/codegear/CodeGear.java Wed Dec 27 18:42:46 2017 +0900 @@ -13,24 +13,21 @@ * Created by e125769 on 12/7/17. * Annotationからのinputコマンドの生成、揃ったDataGearの値を返す */ -public abstract class CodeGear implements Runnable{ +public abstract class CodeGear{ public InputDataGear idg = new InputDataGear(this); public OutputDataGear odg = new OutputDataGear(this); public ArrayList<Command> commandList = new ArrayList<Command>(); public CodeGearManager cgm; - public DataGearManager dgm; - //public CodeGearExecutor cge; + public DataGearManager localDGM; + public CodeGearExecutor cge; - public CodeGear(CodeGearManager cgm){ + public void setup(CodeGearManager cgm){ this.cgm = cgm; - //this.cge = new CodeGearExecutor(); - this.dgm = cgm.getDGM(); - } - - public void execute() {//AnnotationからInputDataGearをセット + this.cge = new CodeGearExecutor(this, this.cgm); + this.localDGM = cgm.getDGM(); odg.initODG(cgm); - for (Field field : this.getClass().getDeclaredFields()) { + for (Field field : this.getClass().getDeclaredFields()) {//AnnotationからInputDataGearをセット DataGear dg = null; try { dg = (DataGear) field.get(this); @@ -50,4 +47,9 @@ idg.finishInput(cgm, commandList); } + protected abstract void run(CodeGearManager cgm); + + public DataGearManager dgm(String dest) { + return cgm.getDGM(dest); + } }