ParamSpecs.java 28.1 KB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463
/*
 * Decompiled with CFR 0_118.
 */
package com.adobe.pdfg.joboptions.parser;

import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;

public class ParamSpecs
implements Serializable {
    static final long serialVersionUID = 1050;
    public static final String ALWAYSEMBED = "AlwaysEmbed";
    public static final String NEVEREMBED = "NeverEmbed";
    public static final String SETDISTILLERPARAMS = "setdistillerparams";
    public static final String SETPAGEDEVICE = "setpagedevice";
    public static final String ASCII85ENCODEPAGES = "ASCII85EncodePages";
    public static final String ALLOWTRANSPARENCY = "AllowTransparency";
    public static final String AUTOPOSITIONEPSFILES = "AutoPositionEPSFiles";
    public static final String COMPRESSPAGES = "CompressPages";
    public static final String CONVERTIMAGESTOINDEXED = "ConvertImagesToIndexed";
    public static final String PASSTHROUGHJPEGIMAGES = "PassThroughJPEGImages";
    public static final String CREATEJDFFILE = "CreateJDFFile";
    public static final String CREATEJOBTICKET = "CreateJobTicket";
    public static final String DETECTBLENDS = "DetectBlends";
    public static final String DOTHUMBNAILS = "DoThumbnails";
    public static final String EMBEDALLFONTS = "EmbedAllFonts";
    public static final String UNEMBEDALLFONTS = "DoNotEmbedAnyFont";
    public static final String DONOTUNEMBEDANYFONT = "DoNotUnembedAnyFont";
    public static final String EMBEDOPENTYPE = "EmbedOpenType";
    public static final String PARSEICCPROFILESINCOMMENTS = "ParseICCProfilesInComments";
    public static final String EMBEDJOBOPTIONS = "EmbedJobOptions";
    public static final String EMITDSCWARNINGS = "EmitDSCWarnings";
    public static final String LOCKDISTILLERPARAMS = "LockDistillerParams";
    public static final String OPTIMIZE = "Optimize";
    public static final String PARSEDSCCOMMENTS = "ParseDSCComments";
    public static final String PARSEDSCCOMMENTSFORDOCINFO = "ParseDSCCommentsForDocInfo";
    public static final String PRESERVECOPYPAGE = "PreserveCopyPage";
    public static final String PRESERVEDICMYKVALUES = "PreserveDICMYKValues";
    public static final String PRESERVEEPSINFO = "PreserveEPSInfo";
    public static final String PRESERVEFLATNESS = "PreserveFlatness";
    public static final String PRESERVEHALFTONEINFO = "PreserveHalftoneInfo";
    public static final String PRESERVEOPICOMMENTS = "PreserveOPIComments";
    public static final String PRESERVEOVERPRINTSETTINGS = "PreserveOverprintSettings";
    public static final String SUBSETFONTS = "SubsetFonts";
    public static final String USEPROLOGUE = "UsePrologue";
    public static final String ANTIALIASCOLORIMAGES = "AntiAliasColorImages";
    public static final String CROPCOLORIMAGES = "CropColorImages";
    public static final String DOWNSAMPLECOLORIMAGES = "DownsampleColorImages";
    public static final String ENCODECOLORIMAGES = "EncodeColorImages";
    public static final String AUTOFILTERCOLORIMAGES = "AutoFilterColorImages";
    public static final String ANTIALIASGRAYIMAGES = "AntiAliasGrayImages";
    public static final String CROPGRAYIMAGES = "CropGrayImages";
    public static final String DOWNSAMPLEGRAYIMAGES = "DownsampleGrayImages";
    public static final String ENCODEGRAYIMAGES = "EncodeGrayImages";
    public static final String AUTOFILTERGRAYIMAGES = "AutoFilterGrayImages";
    public static final String ANTIALIASMONOIMAGES = "AntiAliasMonoImages";
    public static final String CROPMONOIMAGES = "CropMonoImages";
    public static final String DOWNSAMPLEMONOIMAGES = "DownsampleMonoImages";
    public static final String ENCODEMONOIMAGES = "EncodeMonoImages";
    public static final String ALLOWPSXOBJECTS = "AllowPSXObjects";
    public static final String PDFX1ACHECK = "PDFX1aCheck";
    public static final String PDFX3CHECK = "PDFX3Check";
    public static final String PDFXCOMPLIANTPDFONLY = "PDFXCompliantPDFOnly";
    public static final String PDFXNOTRIMBOXERROR = "PDFXNoTrimBoxError";
    public static final String PDFXSETBLEEDBOXTOMEDIABOX = "PDFXSetBleedBoxToMediaBox";
    public static final String OPM = "OPM";
    public static final String DSCREPORTINGLEVEL = "DSCReportingLevel";
    public static final String STARTPAGE = "StartPage";
    public static final String ENDPAGE = "EndPage";
    public static final String IMAGEMEMORY = "ImageMemory";
    public static final String MAXSUBSETPCT = "MaxSubsetPct";
    public static final String COLORIMAGERESOLUTION = "ColorImageResolution";
    public static final String GRAYIMAGERESOLUTION = "GrayImageResolution";
    public static final String MONOIMAGERESOLUTION = "MonoImageResolution";
    public static final String COLORIMAGEMINRESOLUTION = "ColorImageMinResolution";
    public static final String GRAYIMAGEMINRESOLUTION = "GrayImageMinResolution";
    public static final String MONOIMAGEMINRESOLUTION = "MonoImageMinResolution";
    public static final String TILEWIDTH = "TileWidth";
    public static final String TILEHEIGHT = "TileHeight";
    public static final String QUALITY = "Quality";
    public static final String K = "K";
    public static final String HSAMPLES = "HSamples";
    public static final String VSAMPLES = "VSamples";
    public static final String HWRESOLUTION = "HWResolution";
    public static final String PAGESIZE = "PageSize";
    public static final String COLORIMAGEDOWNSAMPLETHRESHOLD = "ColorImageDownsampleThreshold";
    public static final String GRAYIMAGEDOWNSAMPLETHRESHOLD = "GrayImageDownsampleThreshold";
    public static final String MONOIMAGEDOWNSAMPLETHRESHOLD = "MonoImageDownsampleThreshold";
    public static final String QFACTOR = "QFactor";
    public static final String PDFXTRIMBOXTOMEDIABOXOFFSET = "PDFXTrimBoxToMediaBoxOffset";
    public static final String PDFXBLEEDBOXTOTRIMBOXOFFSET = "PDFXBleedBoxToTrimBoxOffset";
    public static final String SYNTHETICBOLDNESS = "SyntheticBoldness";
    public static final String DETECTCURVES = "DetectCurves";
    public static final String COMPATIBILITYLEVEL = "CompatibilityLevel";
    public static final String COLORIMAGEDEPTH = "ColorImageDepth";
    public static final String GRAYIMAGEDEPTH = "GrayImageDepth";
    public static final String MONOIMAGEDEPTH = "MonoImageDepth";
    public static final String COLORIMAGEMINDOWNSAMPLEDEPTH = "ColorImageMinDownsampleDepth";
    public static final String GRAYIMAGEMINDOWNSAMPLEDEPTH = "GrayImageMinDownsampleDepth";
    public static final String PDFXREGISTRYNAME = "PDFXRegistryName";
    public static final String PDFXOUTPUTCONDITION = "PDFXOutputCondition";
    public static final String PDFXOUTPUTCONDITIONIDENTIFIER = "PDFXOutputConditionIdentifier";
    public static final String PDFXOUTPUTINTENTPROFILE = "PDFXOutputIntentProfile";
    public static final String COLORSETTINGSFILE = "ColorSettingsFile";
    public static final String CALGRAYPROFILE = "CalGrayProfile";
    public static final String CALRGBPROFILE = "CalRGBProfile";
    public static final String CALCMYKPROFILE = "CalCMYKProfile";
    public static final String SRGBPROFILE = "sRGBProfile";
    public static final String ENU = "ENU";
    public static final String DEU = "DEU";
    public static final String FRA = "FRA";
    public static final String JPN = "JPN";
    public static final String PTB = "PTB";
    public static final String DAN = "DAN";
    public static final String NLD = "NLD";
    public static final String ESP = "ESP";
    public static final String SUO = "SUO";
    public static final String ITA = "ITA";
    public static final String NOR = "NOR";
    public static final String SVE = "SVE";
    public static final String CHS = "CHS";
    public static final String CHT = "CHT";
    public static final String KOR = "KOR";
    public static final String ARA = "ARA";
    public static final String CZE = "CZE";
    public static final String GRE = "GRE";
    public static final String HEB = "HEB";
    public static final String HRV = "HRV";
    public static final String HUN = "HUN";
    public static final String POL = "POL";
    public static final String RUM = "RUM";
    public static final String RUS = "RUS";
    public static final String TUR = "TUR";
    public static final String SLV = "SLV";
    public static final String COLORIMAGEMINRESOLUTIONPOLICY = "ColorImageMinResolutionPolicy";
    public static final String GRAYIMAGEMINRESOLUTIONPOLICY = "GrayImageMinResolutionPolicy";
    public static final String MONOIMAGEMINRESOLUTIONPOLICY = "MonoImageMinResolutionPolicy";
    public static final String AUTOROTATEPAGES = "AutoRotatePages";
    public static final String BINDING = "Binding";
    public static final String CANNOTEMBEDFONTPOLICY = "CannotEmbedFontPolicy";
    public static final String COMPRESSOBJECTS = "CompressObjects";
    public static final String DEFAULTRENDERINGINTENT = "DefaultRenderingIntent";
    public static final String TRANSFERFUNCTIONINFO = "TransferFunctionInfo";
    public static final String UCRANDBGINFO = "UCRandBGInfo";
    public static final String COLORCONVERSIONSTRATEGY = "ColorConversionStrategy";
    public static final String COLORIMAGEDOWNSAMPLETYPE = "ColorImageDownsampleType";
    public static final String COLORIMAGEFILTER = "ColorImageFilter";
    public static final String COLORIMAGEAUTOFILTERSTRATEGY = "ColorImageAutoFilterStrategy";
    public static final String GRAYIMAGEDOWNSAMPLETYPE = "GrayImageDownsampleType";
    public static final String GRAYIMAGEFILTER = "GrayImageFilter";
    public static final String GRAYIMAGEAUTOFILTERSTRATEGY = "GrayImageAutoFilterStrategy";
    public static final String MONOIMAGEDOWNSAMPLETYPE = "MonoImageDownsampleType";
    public static final String MONOIMAGEFILTER = "MonoImageFilter";
    public static final String CHECKCOMPLIANCE = "CheckCompliance";
    public static final String PDFXTRAPPED = "PDFXTrapped";
    public static final String COLORIMAGEDICT = "ColorImageDict";
    public static final String COLORACSIMAGEDICT = "ColorACSImageDict";
    public static final String JPEG2000COLORIMAGEDICT = "JPEG2000ColorImageDict";
    public static final String JPEG2000COLORACSIMAGEDICT = "JPEG2000ColorACSImageDict";
    public static final String GRAYIMAGEDICT = "GrayImageDict";
    public static final String GRAYACSIMAGEDICT = "GrayACSImageDict";
    public static final String JPEG2000GRAYIMAGEDICT = "JPEG2000GrayImageDict";
    public static final String JPEG2000GRAYACSIMAGEDICT = "JPEG2000GrayACSImageDict";
    public static final String MONOIMAGEDICT = "MonoImageDict";
    public static final String NAMESPACE = "Namespace";
    public static final String DESTINATIONPROFILENAME = "DestinationProfileName";
    public static final String START_PAGE_NONE = "1";
    public static final String ENDPAGE_NONE = "-1";
    public static final String[] AUTOROTATEPAGES_OPTIONS = new String[]{"All", "PageByPage", "None"};
    public static final String[] BINDING_OPTIONS = new String[]{"Left", "Right"};
    public static final String[] CANNOTEMBEDFONTPOLICY_OPTIONS = new String[]{"OK", "Warning", "Error"};
    public static final String[] COMPRESSOBJECTS_OPTIONS = new String[]{"Off", "Tags", "All"};
    public static final String[] DEFAULTRENDERINGINTENT_OPTIONS = new String[]{"Default", "Perceptual", "Saturation", "AbsoluteColorimetric", "RelativeColorimeteric"};
    public static final String[] TRANSFERFUNCTIONINFO_OPTIONS = new String[]{"Preserve", "Apply", "Remove"};
    public static final String[] UCRANDBGINFO_OPTIONS = new String[]{"Preserve", "Remove"};
    public static final String[] COLORCONVERSIONSTRATEGY_OPTIONS = new String[]{"LeaveColorUnchanged", "UseDeviceIndependentColor", "UseDeviceIndependentColorForImages", "sRGB", "CMYK", "Gray", "CalGray", "ICCBased", "CalRGB", "RGB", "LAB", "Cal", "ICC"};
    public static final String[] IMAGEDOWNSAMPLETYPE_OPTIONS = new String[]{"None", "Average", "Subsample", "Bicubic"};
    public static final String[] COLORIMAGEFILTER_OPTIONS = new String[]{"None", "FlateEncode", "DCTEncode", "Auto", "JPXEncode", "Auto2000"};
    public static final String GENERAL_NONE = "None";
    public static final String GENERAL_TRUE = "true";
    public static final String GENERAL_FALSE = "false";
    public static final String[] COLORIMAGEAUTOFILTERSTRATEGY_OPTIONS = new String[]{"JPEG", "JPEG2000"};
    public static final String[] GRAYIMAGEFILTER_OPTIONS = new String[]{"None", "FlateEncode", "DCTEncode", "Auto", "JPXEncode", "Auto2000"};
    public static final String[] GRAYIMAGEAUTOFILTERSTRATEGY_OPTIONS = new String[]{"JPEG", "JPEG2000"};
    public static final String MONOIMAGEFILTER_1_2 = "CCITTFaxEncode";
    public static final String[] MONOIMAGEFILTER_OPTIONS = new String[]{"None", "CCITTFaxEncode_3", "CCITTFaxEncode_4", "FlateEncode", "RunLengthEncode", "LZWEncode", "CCITTFaxEncode"};
    public static final String CHECKCOMPLIANCE_NONE = "None";
    public static final String CHECKCOMPLIANCE_PDFX1a_2001 = "PDFX1a:2001";
    public static final String CHECKCOMPLIANCE_PDFX1a_2003 = "PDFX1a:2003";
    public static final String CHECKCOMPLIANCE_PDFX3_2002 = "PDFX3:2002";
    public static final String CHECKCOMPLIANCE_PDFX3_2003 = "PDFX3:2003";
    public static final String CHECKCOMPLIANCE_PDFA_DRAFT = "PDFA:DRAFT";
    public static final String CHECKCOMPLIANCE_PDFA1B_2005 = "PDFA1B:2005";
    public static final String[] CHECKCOMPLIANCE_OPTIONS = new String[]{"None", "PDFX1a:2001", "PDFX3:2002", "PDFX1a:2003", "PDFX3:2003", "PDFA1B:2005", "PDFA:DRAFT"};
    public static final String[] PDFXTRAPPED_OPTIONS = new String[]{"Unknown", "False", "True"};
    public static final String[] COMPATIBILITYLEVEL_OPTIONS = new String[]{"1.3", "1.4", "1.5", "1.6", "1.7"};
    public static final String[] QFACTOR_OPTIONS = new String[]{"2.4", "1.3", "0.76", "0.4", "0.15"};
    public static final String QFACTOR_75 = "0.75";
    public static final String[] IMAGEMINRESOLUTIONPOLICY_OPTIONS = new String[]{"OK", "Warning", "Error"};
    public static final String[] PDFXOUTPUTINTENTPROFILE_OPTIONS = new String[]{"None", "Use Output Condition Identifier", "Europe ISO Coated FOGRA27", "Japan Color 2001 Coated", "Japan Color 2001 Uncoated", "Japan Color 2002 Newspaper", "Japan Web Coated (Ad)", "U.S. Sheetfed Coated v2", "U.S. Sheetfed Uncoated v2", "U.S. Web Coated (SWOP) v2", "U.S. Web Uncoated v2", "Euroscale Coated v2", "Euroscale Uncoated v2", "Dot Gain 10%", "Dot Gain 15%", "Dot Gain 20%", "Dot Gain 25%", "Dot Gain 30%", "Gray Gamma 1.8", "Gray Gamma 2.2", "Black & White", "sGray", "Adobe RGB (1998)", "Apple RGB", "ColorMatch RGB", "sRGB IEC61966-2.1", "CIE RGB", "e-sRGB", "HDTV (Rec. 709)", "KODAK DC Series Digital Camera", "NTSC (1953)", "PAL/SECAM", "ROMM-RGB", "SDTV (PAL)", "SDTV (Rec. 601 NTSC)", "SMPTE-C", "Wide Gamut RGB"};
    public static final String COMPLIANCETYPE_PDFA = "pdfa";
    public static final String COMPLIANCETYPE_NONPDFA = "nonpdfa";
    public static final Double DETECTCURVES_OFF = new Double("0.0");
    public static final Double DETECTCURVES_ON = new Double("0.1");
    public static final double INTROUNDER = 0.49;
    public static final int LEFT = 0;
    public static final int RIGHT = 1;
    public static final int TOP = 2;
    public static final int BOTTOM = 3;
    public static final String BLEED2TRIM_LEFT_OLD_MM = "bleed2Trim_left_old_mm";
    public static final String BLEED2TRIM_LEFT_OLD_INCH = "bleed2Trim_left_old_inch";
    public static final String BLEED2TRIM_RIGHT_OLD_MM = "bleed2Trim_right_old_mm";
    public static final String BLEED2TRIM_RIGHT_OLD_INCH = "bleed2Trim_left_old_inch";
    public static final String BLEED2TRIM_TOP_OLD_MM = "bleed2Trim_top_old_mm";
    public static final String BLEED2TRIM_TOP_OLD_INCH = "bleed2Trim_left_old_inch";
    public static final String BLEED2TRIM_BOTTOM_OLD_MM = "bleed2Trim_bottom_old_mm";
    public static final String BLEED2TRIM_BOTTOM_OLD_INCH = "bleed2Trim_left_old_inch";
    public static final String TRIM2MEDIA_LEFT_OLD_MM = "trim2Media_left_old_mm";
    public static final String TRIM2MEDIA_LEFT_OLD_INCH = "trim2Media_left_old_inch";
    public static final String TRIM2MEDIA_RIGHT_OLD_MM = "trim2Media_right_old_mm";
    public static final String TRIM2MEDIA_RIGHT_OLD_INCH = "trim2Media_left_old_inch";
    public static final String TRIM2MEDIA_TOP_OLD_MM = "trim2Media_top_old_mm";
    public static final String TRIM2MEDIA_TOP_OLD_INCH = "trim2Media_left_old_inch";
    public static final String TRIM2MEDIA_BOTTOM_OLD_MM = "trim2Media_bottom_old_mm";
    public static final String TRIM2MEDIA_BOTTOM_OLD_INCH = "trim2Media_left_old_inch";
    private static Map boolParamMap = null;
    public static final String[] BOOLPARAMS = new String[]{"ASCII85EncodePages", "AllowTransparency", "AutoPositionEPSFiles", "CompressPages", "ConvertImagesToIndexed", "PassThroughJPEGImages", "CreateJDFFile", "CreateJobTicket", "DetectBlends", "DoThumbnails", "EmbedAllFonts", "EmbedOpenType", "ParseICCProfilesInComments", "EmbedJobOptions", "EmitDSCWarnings", "LockDistillerParams", "Optimize", "ParseDSCComments", "ParseDSCCommentsForDocInfo", "PreserveCopyPage", "PreserveDICMYKValues", "PreserveEPSInfo", "PreserveFlatness", "PreserveHalftoneInfo", "PreserveOPIComments", "PreserveOverprintSettings", "SubsetFonts", "UsePrologue", "AntiAliasColorImages", "CropColorImages", "DownsampleColorImages", "EncodeColorImages", "AutoFilterColorImages", "AntiAliasGrayImages", "CropGrayImages", "DownsampleGrayImages", "EncodeGrayImages", "AutoFilterGrayImages", "AntiAliasMonoImages", "CropMonoImages", "DownsampleMonoImages", "EncodeMonoImages", "AllowPSXObjects", "PDFX1aCheck", "PDFX3Check", "PDFXCompliantPDFOnly", "PDFXNoTrimBoxError", "PDFXSetBleedBoxToMediaBox"};
    private static Map intParamMap = null;
    public static final IntParamSpec[] INTPARAMS = new IntParamSpec[]{new IntParamSpec("OPM", 0, 1), new IntParamSpec("DSCReportingLevel", 0, 2), new IntParamSpec("StartPage", 0, Integer.MAX_VALUE), new IntParamSpec("EndPage", -1, Integer.MAX_VALUE), new IntParamSpec("ImageMemory", 0, Integer.MAX_VALUE), new IntParamSpec("MaxSubsetPct", 1, 100), new IntParamSpec("ColorImageResolution", 9, 2400), new IntParamSpec("GrayImageResolution", 9, 2400), new IntParamSpec("MonoImageResolution", 9, 2400), new IntParamSpec("ColorImageMinResolution", 9, 64000), new IntParamSpec("GrayImageMinResolution", 9, 64000), new IntParamSpec("MonoImageMinResolution", 9, 64000), new IntParamSpec("TileWidth", 128, 2048), new IntParamSpec("TileHeight", 128, 2048), new IntParamSpec("Quality", 1, 100), new IntParamSpec("K", -1, 0), new IntParamSpec("HSamples", 1, 2), new IntParamSpec("VSamples", 1, 2), new IntParamSpec("HWResolution", 72, 4000)};
    private static Map numParamMap = null;
    public static final NumParamSpec[] NUMPARAMS = new NumParamSpec[]{new NumParamSpec("ColorImageDownsampleThreshold", "1.0", "10.0"), new NumParamSpec("GrayImageDownsampleThreshold", "1.0", "10.0"), new NumParamSpec("MonoImageDownsampleThreshold", "1.0", "10.0"), new NumParamSpec("QFactor", "0", "100.0"), new NumParamSpec("PDFXTrimBoxToMediaBoxOffset", "0.0", String.valueOf(Integer.MAX_VALUE)), new NumParamSpec("PDFXBleedBoxToTrimBoxOffset", "0.0", String.valueOf(Integer.MAX_VALUE)), new NumParamSpec("SyntheticBoldness", "0.0", String.valueOf(Integer.MAX_VALUE)), new NumParamSpec("DetectCurves", "0.0", "10.0"), new NumParamSpec("PageSize", "3.0", "14400.0")};
    private static Map intSetParamMap = null;
    public static final IntSetParamSpec[] INTSETPARAMS = new IntSetParamSpec[]{new IntSetParamSpec("ColorImageDepth", new int[]{-1, 1, 2, 4, 8, 16}), new IntSetParamSpec("GrayImageDepth", new int[]{-1, 1, 2, 4, 8, 16}), new IntSetParamSpec("MonoImageDepth", new int[]{-1, 1, 2, 4, 8, 16}), new IntSetParamSpec("ColorImageMinDownsampleDepth", new int[]{-1, 1, 2, 4, 8, 16}), new IntSetParamSpec("GrayImageMinDownsampleDepth", new int[]{-1, 1, 2, 4, 8, 16})};
    private static Map stringParamMap = null;
    public static final String[] STRINGPARAMS = new String[]{"PDFXRegistryName", "PDFXOutputCondition", "PDFXOutputConditionIdentifier", "PDFXOutputIntentProfile", "ColorSettingsFile", "CalGrayProfile", "CalRGBProfile", "CalCMYKProfile", "sRGBProfile", "ENU", "DEU", "FRA", "JPN", "PTB", "DAN", "NLD", "ESP", "SUO", "ITA", "NOR", "SVE", "CHS", "CHT", "KOR", "ARA", "CZE", "GRE", "HEB", "HRV", "HUN", "POL", "RUM", "RUS", "TUR", "SLV", "Namespace", "DestinationProfileName"};
    private static Map nameParamMap = null;
    public static final String[] NAMEPARAMS = new String[]{"ColorImageMinResolutionPolicy", "GrayImageMinResolutionPolicy", "MonoImageMinResolutionPolicy", "AlwaysEmbed", "NeverEmbed"};
    public static final StringSetParamSpec[] NUMSETPARAMS = new StringSetParamSpec[]{new StringSetParamSpec("CompatibilityLevel", COMPATIBILITYLEVEL_OPTIONS)};
    private static Map stringSetParamMap = null;
    public static final StringSetParamSpec[] STRINGSETPARAMS = new StringSetParamSpec[]{new StringSetParamSpec("AutoRotatePages", AUTOROTATEPAGES_OPTIONS), new StringSetParamSpec("Binding", BINDING_OPTIONS), new StringSetParamSpec("CannotEmbedFontPolicy", CANNOTEMBEDFONTPOLICY_OPTIONS), new StringSetParamSpec("CompressObjects", COMPRESSOBJECTS_OPTIONS), new StringSetParamSpec("DefaultRenderingIntent", DEFAULTRENDERINGINTENT_OPTIONS), new StringSetParamSpec("TransferFunctionInfo", TRANSFERFUNCTIONINFO_OPTIONS), new StringSetParamSpec("UCRandBGInfo", UCRANDBGINFO_OPTIONS), new StringSetParamSpec("ColorConversionStrategy", COLORCONVERSIONSTRATEGY_OPTIONS), new StringSetParamSpec("ColorImageDownsampleType", IMAGEDOWNSAMPLETYPE_OPTIONS), new StringSetParamSpec("ColorImageFilter", COLORIMAGEFILTER_OPTIONS), new StringSetParamSpec("ColorImageAutoFilterStrategy", COLORIMAGEAUTOFILTERSTRATEGY_OPTIONS), new StringSetParamSpec("GrayImageDownsampleType", IMAGEDOWNSAMPLETYPE_OPTIONS), new StringSetParamSpec("GrayImageFilter", GRAYIMAGEFILTER_OPTIONS), new StringSetParamSpec("GrayImageAutoFilterStrategy", GRAYIMAGEAUTOFILTERSTRATEGY_OPTIONS), new StringSetParamSpec("MonoImageDownsampleType", IMAGEDOWNSAMPLETYPE_OPTIONS), new StringSetParamSpec("MonoImageFilter", MONOIMAGEFILTER_OPTIONS), new StringSetParamSpec("CheckCompliance", CHECKCOMPLIANCE_OPTIONS), new StringSetParamSpec("PDFXTrapped", PDFXTRAPPED_OPTIONS)};

    public static boolean isBoolParam(String key) {
        if (boolParamMap == null) {
            boolParamMap = new HashMap(BOOLPARAMS.length);
            for (int i = 0; i < BOOLPARAMS.length; ++i) {
                boolParamMap.put(BOOLPARAMS[i], Boolean.TRUE);
            }
        }
        return boolParamMap.get(key) != null;
    }

    public static IntParamSpec getIntParamSpec(String key) {
        if (intParamMap == null) {
            intParamMap = new HashMap(INTPARAMS.length);
            for (int i = 0; i < INTPARAMS.length; ++i) {
                intParamMap.put(INTPARAMS[i].getKeyName(), INTPARAMS[i]);
            }
        }
        return (IntParamSpec)intParamMap.get(key);
    }

    public static final NumParamSpec getNumParamSpec(String key) {
        if (numParamMap == null) {
            numParamMap = new HashMap(NUMPARAMS.length);
            for (int i = 0; i < NUMPARAMS.length; ++i) {
                numParamMap.put(NUMPARAMS[i].getKeyName(), NUMPARAMS[i]);
            }
        }
        return (NumParamSpec)numParamMap.get(key);
    }

    public static IntParamSpec getIntSpec(String str) {
        for (int i = 0; i < INTPARAMS.length; ++i) {
            if (!INTPARAMS[i].getKeyName().equals(str)) continue;
            return INTPARAMS[i];
        }
        return null;
    }

    public static NumParamSpec getNumSpec(String str) {
        for (int i = 0; i < NUMPARAMS.length; ++i) {
            if (!NUMPARAMS[i].getKeyName().equals(str)) continue;
            return NUMPARAMS[i];
        }
        return null;
    }

    public static Double round(Double bd, int digits) {
        String str = bd.toString();
        int index = str.indexOf(".");
        if (index >= 0 && index + digits + 1 <= str.length()) {
            str = str.substring(0, index + digits + 1);
        }
        return new Double(str);
    }

    public static IntSetParamSpec getIntSetParamSpec(String key) {
        if (intSetParamMap == null) {
            intSetParamMap = new HashMap(INTSETPARAMS.length);
            for (int i = 0; i < INTSETPARAMS.length; ++i) {
                intSetParamMap.put(INTSETPARAMS[i].getKeyName(), INTSETPARAMS[i]);
            }
        }
        return (IntSetParamSpec)intSetParamMap.get(key);
    }

    public static boolean isStringParam(String key) {
        if (stringParamMap == null) {
            stringParamMap = new HashMap(STRINGPARAMS.length);
            for (int i = 0; i < STRINGPARAMS.length; ++i) {
                stringParamMap.put(STRINGPARAMS[i], "");
            }
        }
        return stringParamMap.get(key) != null;
    }

    public static boolean isNameParam(String key) {
        if (nameParamMap == null) {
            nameParamMap = new HashMap(NAMEPARAMS.length);
            for (int i = 0; i < NAMEPARAMS.length; ++i) {
                nameParamMap.put(NAMEPARAMS[i], "");
            }
        }
        return nameParamMap.get(key) != null;
    }

    public static final StringSetParamSpec getStringSetParamSpec(String key) {
        if (stringSetParamMap == null) {
            stringSetParamMap = new HashMap(STRINGSETPARAMS.length);
            for (int i = 0; i < STRINGSETPARAMS.length; ++i) {
                stringSetParamMap.put(STRINGSETPARAMS[i].getKeyName(), STRINGSETPARAMS[i]);
            }
        }
        return (StringSetParamSpec)stringSetParamMap.get(key);
    }

    public static class IntParamSpec {
        private String keyName = null;
        private int minLimit = 0;
        private int maxLimit = 0;

        public IntParamSpec(String kn, int min, int max) {
            this.keyName = kn;
            this.minLimit = min;
            this.maxLimit = max;
        }

        public String getKeyName() {
            return this.keyName;
        }

        public void setKeyName(String keyName) {
            this.keyName = keyName;
        }

        public int getMaxLimit() {
            return this.maxLimit;
        }

        public void setMaxLimit(int maxLimit) {
            this.maxLimit = maxLimit;
        }

        public int getMinLimit() {
            return this.minLimit;
        }

        public void setMinLimit(int minLimit) {
            this.minLimit = minLimit;
        }
    }

    public static class IntSetParamSpec {
        private String keyName = null;
        private int[] valueSet = null;

        public IntSetParamSpec(String kn, int[] vset) {
            this.keyName = kn;
            this.valueSet = vset;
        }

        public String getKeyName() {
            return this.keyName;
        }

        public void setKeyName(String keyName) {
            this.keyName = keyName;
        }

        public int[] getValueSet() {
            return this.valueSet;
        }

        public void setValueSet(int[] valueSet) {
            this.valueSet = valueSet;
        }
    }

    public static class StringSetParamSpec {
        private String keyName = null;
        private String[] valueSet = null;

        public StringSetParamSpec(String kn, String[] vset) {
            this.keyName = kn;
            this.valueSet = vset;
        }

        public String getKeyName() {
            return this.keyName;
        }

        public void setKeyName(String keyName) {
            this.keyName = keyName;
        }

        public String[] getValueSet() {
            return this.valueSet;
        }

        public void setValueSet(String[] valueSet) {
            this.valueSet = valueSet;
        }
    }

    public static class NumParamSpec {
        private String keyName = null;
        private String minLimit = null;
        private String maxLimit = null;

        public NumParamSpec(String kn, String min, String max) {
            this.keyName = kn;
            this.minLimit = min;
            this.maxLimit = max;
        }

        public String getKeyName() {
            return this.keyName;
        }

        public void setKeyName(String keyName) {
            this.keyName = keyName;
        }

        public String getMaxLimit() {
            return this.maxLimit;
        }

        public void setMaxLimit(String maxLimit) {
            this.maxLimit = maxLimit;
        }

        public String getMinLimit() {
            return this.minLimit;
        }

        public void setMinLimit(String minLimit) {
            this.minLimit = minLimit;
        }
    }

}