1 20 21 22 23 package cpmake; 24 25 import java.util.*; 26 27 class BuildAction extends Observable 28 implements Observer 29 { 30 private String m_target; 31 private Rule m_targetRule; 32 private int m_dependencyCount; 33 34 public BuildAction(String target, Rule targetRule) 35 { 36 m_target = target; 37 m_targetRule = targetRule; 38 m_dependencyCount = 0; 39 } 40 41 public String getTarget() 42 { 43 return (m_target); 44 } 45 46 public Rule getTargetRule() 47 { 48 return (m_targetRule); 49 } 50 51 public boolean equals(Object o) 52 { 53 boolean ret = false; 54 55 if (o instanceof BuildAction) 56 { 57 ret = ((BuildAction)o).getTarget().equals(m_target); 58 } 59 return (ret); 60 } 61 62 public void update(Observable o, Object arg) 63 { 64 synchronized(this) 65 { 66 m_dependencyCount--; 67 } 68 } 69 70 public int getDependencyCount() 71 { 72 return (m_dependencyCount); 73 } 74 75 public void addDependencies(BuildAction[] ba) 76 { 77 if (ba.length > 0) 79 { 80 for (int I = 0; I < ba.length; I++) 81 { 82 m_dependencyCount++; 83 ba[I].addObserver(this); 84 } 85 } 86 } 87 88 public void complete() 90 { 91 setChanged(); 92 notifyObservers(); 93 clearChanged(); 94 } 95 96 } 97 | Popular Tags |