1 package org.catacomb.druid.gui.edit; 2 3 import org.catacomb.interlish.structure.TargetStore; 4 import org.catacomb.interlish.structure.TargetStoreUser; 5 import org.catacomb.interlish.structure.Viewer; 6 import org.catacomb.report.E; 7 8 9 10 public class Effect implements Viewer, TargetStoreUser { 11 12 String targetID; 13 14 Object target; 15 16 TargetStore targetStore; 17 18 19 public Effect() { 20 this(null); 21 } 22 23 24 public Effect(String s) { 25 targetID = s; 26 } 27 28 29 public void setTargetStore(TargetStore ts) { 30 targetStore = ts; 31 } 32 33 34 public String getTargetID() { 35 return targetID; 36 } 37 38 public void apply(boolean b) { 39 E.override(); 40 } 41 42 public void apply(String s) { 43 E.override(); 44 } 45 46 47 public Object getTarget() { 48 if (targetID == null || targetID.equals("null")) { 49 50 } else { 51 if (target == null) { 52 if (targetStore == null) { 53 E.error("no target store in effect " + this); 54 } else { 55 if (targetID.indexOf(",") > 0) { 56 String[] sa = targetID.split(","); 57 Object[] ret = new Object[sa.length]; 58 int iret = 0; 59 for (String s : sa) { 60 ret[iret++] = targetStore.get(s.trim()); 61 } 62 target = ret; 63 64 65 } else { 66 target = targetStore.get(targetID); 67 } 68 } 69 70 } 71 } 72 return target; 73 } 74 75 76 77 }