1 28 29 package com.idaremedia.antx; 30 31 import org.apache.tools.ant.Project; 32 33 import com.idaremedia.antx.apis.ProblemHandler; 34 import com.idaremedia.antx.apis.Responses; 35 import com.idaremedia.antx.helpers.Strings; 36 37 47 48 public class KillMethodSkeleton implements KillMethod 49 { 50 53 protected KillMethodSkeleton() 54 { 55 } 56 57 58 59 65 public KillMethodSkeleton(String FXID, String name) 66 { 67 m_FXID = FXID; 68 m_name = name; 69 } 70 71 72 73 77 public boolean canKill(String target) 78 { 79 return true; 80 } 81 82 83 84 87 protected String getComponentId() 88 { 89 AntX.verify_(m_FXID!=null,"Fixture.KillMethod:","nonzro FXId"); 90 return m_FXID; 91 } 92 93 94 95 99 protected String getComponentName() 100 { 101 return m_name!=null ? m_name : getComponentId(); 102 } 103 104 105 106 111 public final boolean kill(ProblemHandler from) 112 { 113 return kill(Strings.ALL,from); 114 } 115 116 117 118 124 protected boolean killDefault(ProblemHandler from) 125 { 126 return true; 127 } 128 129 130 131 137 protected boolean killContext(ProblemHandler from) 138 { 139 FixtureOverlays overlays = FixtureOverlays.getContextInstance(); 140 overlays.clear(getComponentId()); 141 return true; 142 } 143 144 145 146 152 protected boolean killCurrent(ProblemHandler from) 153 { 154 Responses.LitmusResult result= new Responses.LitmusResult(); 155 FixtureOverlays.uninstallIfIs(getComponentId(),result,getComponentName()); 156 if (result.hadProblem) { 157 from.problem(result.what,Project.MSG_WARN); 158 } 159 return !result.hadProblem; 160 } 161 162 163 164 170 public boolean kill(String target, ProblemHandler from) 171 { 172 AntX.require_(from!=null,"Fixture.KillMethod:","kill- nonzro src"); 173 if (Strings.ALL.equals(target)) { 174 return killContext(from) && killDefault(from); 175 } else if (Strings.CURRENT.equals(target)) { 176 return killCurrent(from); 177 } else if (Strings.CONTEXT.equals(target)) { 178 return killContext(from); 179 } else if (Strings.DEFAULT.equals(target)) { 180 return killDefault(from); 181 } 182 return true; 183 } 184 185 186 private String m_FXID,m_name; 187 } 188 189 190 | Popular Tags |