1 28 29 package com.idaremedia.antx.feedback; 30 31 import com.idaremedia.antx.AntX; 32 import com.idaremedia.antx.AntXFixture; 33 import com.idaremedia.antx.FixtureAdministrator; 34 import com.idaremedia.antx.FixtureCore; 35 import com.idaremedia.antx.FixtureOverlays; 36 import com.idaremedia.antx.FixtureIds; 37 import com.idaremedia.antx.Iteration; 38 import com.idaremedia.antx.KillMethodSkeleton; 39 import com.idaremedia.antx.apis.ProblemHandler; 40 41 55 56 public final class EmitContext implements FixtureCore, FixtureAdministrator 57 { 58 61 public static final String FXID= FixtureIds.EMIT_CONFIGURATION; 62 63 64 65 69 public static EmitConfiguration getConfiguration() 70 { 71 return (EmitConfiguration)FixtureOverlays.getContextInstance().nearest(FXID); 72 } 73 74 75 76 81 public static EmitConfiguration getConfigurationNoNull() 82 { 83 EmitConfiguration ec = getConfiguration(); 84 return (ec!=null) ? ec : getDefaultConfiguration(); 85 } 86 87 88 89 98 public static EmitConfiguration installConfiguration(EmitConfiguration ec, 99 ProblemHandler noInstallHandler) 100 { 101 if (ec==null) { 102 throw new IllegalArgumentException (AntX.uistrs().get("emit.null.ecfg")); 103 } 104 String whoami = AntX.uistrs().dget("emit.whoami","EmitConfiguration"); 105 return (EmitConfiguration)FixtureOverlays.installIfNot(FXID,ec,noInstallHandler, 106 whoami); 107 } 108 109 110 111 118 public static void unwindConfiguration(ProblemHandler noUninstallHandler) 119 { 120 String whoami = AntX.uistrs().dget("emit.whoami","EmitConfiguration"); 121 FixtureOverlays.uninstallIfIs(FXID,noUninstallHandler,whoami); 122 } 123 124 125 126 133 public static EmitConfiguration getDefaultConfiguration() 134 { 135 EmitConfiguration ec = (EmitConfiguration)Iteration.getProperty(FXID); 136 return (ec==null) ? DefaultEmitConfiguration.INSTANCE : ec; 137 } 138 139 140 141 151 public static EmitConfiguration setDefaultConfiguration(EmitConfiguration ec) 152 { 153 if (ec==null) { 154 throw new IllegalArgumentException 155 (AntX.uistrs().get("emit.null.ecfg")); 156 } 157 return (EmitConfiguration)Iteration.setProperty(FXID,ec); 158 } 159 160 161 162 168 public static final boolean isDefaultUndefined() 169 { 170 return getDefaultConfiguration()==DefaultEmitConfiguration.INSTANCE; 171 } 172 173 174 175 182 static final void unsetDefaultConfiguration() 183 { 184 Iteration.removeProperty(FXID); 185 } 186 187 188 189 196 static { 197 AntXFixture.setKillMethod 198 (FXID, 199 new String []{"emitconfigurations"}, 200 new KillMethodSkeleton() { 201 protected boolean killDefault(ProblemHandler from) { 202 EmitContext.unsetDefaultConfiguration(); 203 return true; 204 } 205 protected String getComponentId() { 206 return EmitContext.FXID; 207 } 208 protected String getComponentName() { 209 return AntX.uistrs().dget 210 ("emit.whoami", "EmitConfiguration"); 211 } 212 } 213 ); 214 } 215 216 217 218 private EmitContext() 219 { } 220 } 221 222 223 | Popular Tags |