1 28 29 package com.idaremedia.antx.print; 30 31 import com.idaremedia.antx.AntX; 32 import com.idaremedia.antx.FixtureAdministrator; 33 import com.idaremedia.antx.FixtureOverlays; 34 import com.idaremedia.antx.FixtureIds; 35 import com.idaremedia.antx.Iteration; 36 import com.idaremedia.antx.apis.ProblemHandler; 37 38 51 52 public final class PrinterRegistryContext implements FixtureAdministrator 53 { 54 57 public static final String FXID= FixtureIds.PRINTER_REGISTRY; 58 59 60 61 65 public static PrinterRegistry getPrinterRegistry() 66 { 67 return (PrinterRegistry)FixtureOverlays.getContextInstance().nearest(FXID); 68 } 69 70 71 72 77 public static PrinterRegistry getPrinterRegistryNoNull() 78 { 79 PrinterRegistry pr = getPrinterRegistry(); 80 return (pr!=null) ? pr : getDefaultPrinterRegistry(); 81 } 82 83 84 85 94 public static PrinterRegistry installPrinterRegistry(PrinterRegistry pr, 95 ProblemHandler noInstallHandler) 96 { 97 if (pr==null) { 98 throw new IllegalArgumentException 99 ("PrinterRegistryContext- Cannot install NULL"); 100 } 101 102 String whoami = AntX.uistrs().dget("task.print.whoami","PrinterRegistry"); 103 return (PrinterRegistry)FixtureOverlays.installIfNot 104 (FXID, pr, noInstallHandler, whoami); 105 } 106 107 108 109 117 public static void unwindPrinterRegistry(ProblemHandler noUninstallHandler) 118 { 119 String whoami = AntX.uistrs().dget("task.print.whoami","PrinterRegistry"); 120 FixtureOverlays.uninstallIfIs(FXID,noUninstallHandler,whoami); 121 } 122 123 124 125 131 public static PrinterRegistry getDefaultPrinterRegistry() 132 { 133 PrinterRegistry pr = (PrinterRegistry)Iteration.getProperty(FXID); 134 return (pr==null) ? sm_EmptyRegistry : pr; 135 } 136 137 138 139 151 public static PrinterRegistry setDefaultPrinterRegistry(PrinterRegistry pr) 152 { 153 if (pr==null) { 154 throw new IllegalArgumentException 155 (AntX.uistrs().get("print.null.registry")); 156 } 157 return (PrinterRegistry)Iteration.setProperty(FXID,pr); 158 } 159 160 161 162 167 public static final PrinterRegistry unsetDefaultPrinterRegistry() 168 { 169 return (PrinterRegistry)Iteration.removeProperty(FXID); 170 } 171 172 173 174 178 public static PrinterRegistry getEmptyPrinterRegistry() 179 { 180 return sm_EmptyRegistry; 181 } 182 183 184 185 186 private PrinterRegistryContext() 187 { } 188 189 190 191 private static final PrinterRegistry sm_EmptyRegistry = new PrinterRegistry(true); 192 } 193 194 195 | Popular Tags |