ModifierEnum.java 25 KB
/*
 * Decompiled with CFR 0_118.
 * 
 * Could not load the following classes:
 *  com.scene7.is.catalog.util.IPAddress
 *  com.scene7.is.catalog.util.ObjectTypeEnum
 *  com.scene7.is.catalog.util.localization.LocaleMap
 *  com.scene7.is.provider.CacheSpec
 *  com.scene7.is.provider.DebugInfoEnum
 *  com.scene7.is.provider.FitSpec
 *  com.scene7.is.provider.FmtSpec
 *  com.scene7.is.provider.IccProfileSpec
 *  com.scene7.is.provider.ImageSet
 *  com.scene7.is.provider.ImageSource
 *  com.scene7.is.provider.JpegQualitySpec
 *  com.scene7.is.provider.ModifierList
 *  com.scene7.is.provider.OpacitySpec
 *  com.scene7.is.provider.PSModifierEnum
 *  com.scene7.is.provider.RequestTypeSpec
 *  com.scene7.is.provider.ThumbTypeEnum
 *  com.scene7.is.provider.UserData
 *  com.scene7.is.provider.ZoomTargets
 *  com.scene7.is.provider.catalog.ObjectRecord
 *  com.scene7.is.sleng.BlendModeEnum
 *  com.scene7.is.sleng.Color
 *  com.scene7.is.sleng.ColorConvertOptions
 *  com.scene7.is.sleng.ColorProfileSet
 *  com.scene7.is.sleng.ColorSpace
 *  com.scene7.is.sleng.ColorSpec
 *  com.scene7.is.sleng.DefaultImageModeSpec
 *  com.scene7.is.sleng.DigimarcId
 *  com.scene7.is.sleng.DigimarcInfo
 *  com.scene7.is.sleng.HotSpot
 *  com.scene7.is.sleng.NamedPaths
 *  com.scene7.is.sleng.PScanSpec
 *  com.scene7.is.sleng.PathAttrSpec
 *  com.scene7.is.sleng.PerspectiveSpec
 *  com.scene7.is.sleng.QuantizeSpec
 *  com.scene7.is.sleng.ResModeSpec
 *  com.scene7.is.sleng.ScaleModeSpec
 *  com.scene7.is.sleng.Text
 *  com.scene7.is.sleng.TextAttrSpec
 *  com.scene7.is.util.Dimension2D
 *  com.scene7.is.util.Dimension2D$Double
 *  com.scene7.is.util.Enum
 *  com.scene7.is.util.Location
 *  com.scene7.is.util.Size
 *  com.scene7.is.util.callbacks.Option
 *  javax.servlet.http.HttpServletRequest
 *  org.jetbrains.annotations.NotNull
 *  org.jetbrains.annotations.Nullable
 */
package com.scene7.is.ps.provider.defs;

import com.scene7.is.catalog.util.IPAddress;
import com.scene7.is.catalog.util.ObjectTypeEnum;
import com.scene7.is.catalog.util.localization.LocaleMap;
import com.scene7.is.provider.CacheSpec;
import com.scene7.is.provider.DebugInfoEnum;
import com.scene7.is.provider.FitSpec;
import com.scene7.is.provider.FmtSpec;
import com.scene7.is.provider.IccProfileSpec;
import com.scene7.is.provider.ImageSet;
import com.scene7.is.provider.ImageSource;
import com.scene7.is.provider.JpegQualitySpec;
import com.scene7.is.provider.ModifierList;
import com.scene7.is.provider.OpacitySpec;
import com.scene7.is.provider.PSModifierEnum;
import com.scene7.is.provider.RequestTypeSpec;
import com.scene7.is.provider.ThumbTypeEnum;
import com.scene7.is.provider.UserData;
import com.scene7.is.provider.ZoomTargets;
import com.scene7.is.provider.catalog.ObjectRecord;
import com.scene7.is.ps.provider.CatalogRecordException;
import com.scene7.is.ps.provider.IZoomException;
import com.scene7.is.ps.provider.LayerSource;
import com.scene7.is.ps.provider.ModifierSet;
import com.scene7.is.ps.provider.Request;
import com.scene7.is.ps.provider.UnsharpMaskSpec;
import com.scene7.is.ps.provider.defs.AlphaUseEnum;
import com.scene7.is.ps.provider.defs.ClientTypeEnum;
import com.scene7.is.ps.provider.defs.ColorizeSpec;
import com.scene7.is.ps.provider.defs.FlipEnum;
import com.scene7.is.ps.provider.defs.IZColor;
import com.scene7.is.ps.provider.defs.NoiseSpec;
import com.scene7.is.ps.provider.defs.TileRect;
import com.scene7.is.sleng.BlendModeEnum;
import com.scene7.is.sleng.Color;
import com.scene7.is.sleng.ColorConvertOptions;
import com.scene7.is.sleng.ColorProfileSet;
import com.scene7.is.sleng.ColorSpace;
import com.scene7.is.sleng.ColorSpec;
import com.scene7.is.sleng.DefaultImageModeSpec;
import com.scene7.is.sleng.DigimarcId;
import com.scene7.is.sleng.DigimarcInfo;
import com.scene7.is.sleng.HotSpot;
import com.scene7.is.sleng.NamedPaths;
import com.scene7.is.sleng.PScanSpec;
import com.scene7.is.sleng.PathAttrSpec;
import com.scene7.is.sleng.PerspectiveSpec;
import com.scene7.is.sleng.QuantizeSpec;
import com.scene7.is.sleng.ResModeSpec;
import com.scene7.is.sleng.ScaleModeSpec;
import com.scene7.is.sleng.Text;
import com.scene7.is.sleng.TextAttrSpec;
import com.scene7.is.util.Dimension2D;
import com.scene7.is.util.Enum;
import com.scene7.is.util.Location;
import com.scene7.is.util.Size;
import com.scene7.is.util.callbacks.Option;
import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.geom.Point2D;
import java.awt.geom.Rectangle2D;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

public final class ModifierEnum<T>
extends Enum {
    public static final int LAYER_SWITCH = 0;
    public static final int LAYER_EFFECT = 1;
    public static final int GLOBAL = 2;
    public static final int LAYER_ONLY = 3;
    public static final int LAYER_OR_COMP = 4;
    public static final int LAYER_OR_GLOBAL = 5;
    public static final Map<String, ModifierEnum<?>> VALUES = new HashMap();
    public static final List<ModifierEnum<?>> VALUE_LIST = new ArrayList();
    public static final ModifierEnum LAYER = ModifierEnum.modifierEnum("LAYER", 0);
    public static final ModifierEnum<DebugInfoEnum> DEBUG_INFO = ModifierEnum.modifierEnum("DEBUG_INFO", 2);
    public static final ModifierEnum<Boolean> DISABLERULES = ModifierEnum.modifierEnum("DISABLERULES", 2);
    public static final ModifierEnum<ObjectRecord> I_DESCRIPTOR = ModifierEnum.modifierEnum("$DESCRIPTOR", 2);
    public static final ModifierEnum<ObjectRecord> I_UNTRANSLATED_DESCRIPTOR = ModifierEnum.modifierEnum("$UNTRANSLATED_DESCRIPTOR", 2);
    public static final ModifierEnum<String> I_ROOT_ID = ModifierEnum.modifierEnum("$ROOT_ID", 2);
    public static final ModifierEnum<String> I_CATALOG_ID = ModifierEnum.modifierEnum("$CATALOG_ID", 2);
    public static final ModifierEnum I_LAYER_ID = ModifierEnum.modifierEnum("$LAYER_ID", 3);
    public static final ModifierEnum<String> I_IMAGE_ROOT = ModifierEnum.modifierEnum("$IMAGE_ROOT", 2);
    public static final ModifierEnum<String> I_ROOT_PATH = ModifierEnum.modifierEnum("$ROOT_PATH", 2);
    public static final ModifierEnum<String> I_DEFAULT_EXT = ModifierEnum.modifierEnum("$DEFAULT_EXT", 2);
    public static final ModifierEnum<DigimarcId> I_DIGIMARC_ID = ModifierEnum.modifierEnum("$DIGIMARC_ID", 2);
    public static final ModifierEnum<DigimarcInfo> I_DIGIMARC_INFO = ModifierEnum.modifierEnum("$DIGIMARC_INFO", 2);
    public static final ModifierEnum<Boolean> I_OBFUSCATE = ModifierEnum.modifierEnum("$OBFUSCATE", 2);
    public static final ModifierEnum<Boolean> I_USE_LOCK = ModifierEnum.modifierEnum("$USE_LOCK", 2);
    public static final ModifierEnum<Dimension> I_DEFAULT_LIMIT = ModifierEnum.modifierEnum("$DEFAULT_LIMIT", 2);
    public static final ModifierEnum<String> I_DEFAULT_FONT = ModifierEnum.modifierEnum("$DEFAULT_FONT", 2);
    public static final ModifierEnum<Size> I_SIZE_LIMIT = ModifierEnum.modifierEnum("$SIZE_LIMIT", 2);
    public static final ModifierEnum<ModifierList<PSModifierEnum>> I_MODIFIER = ModifierEnum.modifierEnum("$MODIFIER", 2);
    public static final ModifierEnum<ModifierList<PSModifierEnum>> I_POST_MODIFIER = ModifierEnum.modifierEnum("$POST_MODIFIER", 2);
    public static final ModifierEnum<ZoomTargets> I_TARGETS = ModifierEnum.modifierEnum("$TARGETS", 2);
    public static final ModifierEnum<ImageSet> I_IMAGE_SET = ModifierEnum.modifierEnum("$IMAGE_SET", 2);
    public static final ModifierEnum<UserData> I_USER_DATA = ModifierEnum.modifierEnum("$USER_DATA", 2);
    public static final ModifierEnum<ThumbTypeEnum> I_THUMB_TYPE = ModifierEnum.modifierEnum("$THUMB_TYPE", 2);
    public static final ModifierEnum<Long> I_EXPIRATION = ModifierEnum.modifierEnum("$EXPIRATION", 2);
    public static final ModifierEnum<Long> I_DEFAULT_EXPIRATION = ModifierEnum.modifierEnum("$DEFAULT_EXPIRATION", 2);
    public static final ModifierEnum<LocaleMap> I_LOCALE_MAP = ModifierEnum.modifierEnum("$LOCALE_MAP", 2);
    public static final ModifierEnum<LocaleMap> I_LOCALE_STR_MAP = ModifierEnum.modifierEnum("$LOCALE_STR_MAP", 2);
    public static final ModifierEnum<Long> I_NON_IMG_EXPIRATION = ModifierEnum.modifierEnum("$NON_IMG_EXPIRATION", 2);
    public static final ModifierEnum<Long> I_CACHE_EXPIRATION = ModifierEnum.modifierEnum("$CACHE_EXPIRATION", 2);
    public static final ModifierEnum<Request> I_WATERMARK_REQUEST = ModifierEnum.modifierEnum("$WATERMARK_REQUEST", 2);
    public static final ModifierEnum I_AUTO_SIZE_MODE = ModifierEnum.modifierEnum("$AUTO_SIZE_MODE", 2);
    public static final ModifierEnum<Double> I_THUMB_RES = ModifierEnum.modifierEnum("$THUMB_RES", 2);
    public static final ModifierEnum<String> I_NET_QUERY = ModifierEnum.modifierEnum("$QUERY", 2);
    public static final ModifierEnum<String> I_NET_PATH = ModifierEnum.modifierEnum("$NET_PATH", 2);
    public static final ModifierEnum<ColorConvertOptions> I_ICC_OPTIONS = ModifierEnum.modifierEnum("$ICC_OPTIONS", 2);
    public static final ModifierEnum<ColorProfileSet> I_ICC_PROFILE_MAP = ModifierEnum.modifierEnum("$ICC_PROFILE_MAP", 2);
    public static final ModifierEnum<ColorProfileSet> I_ICC_SOURCE_PROFILE_MAP = ModifierEnum.modifierEnum("$ICC_SOURCE_PROFILE_MAP", 2);
    public static final ModifierEnum<ColorSpace> I_ICC_OUT_COLORSPACE = ModifierEnum.modifierEnum("$ICC_OUT_COLORSPACE", 2);
    public static final ModifierEnum<Double> I_PRINT_RES = ModifierEnum.modifierEnum("$PRINT_RES", 2);
    public static final ModifierEnum<Request> I_DEFAULT_IMAGE_REQUEST = ModifierEnum.modifierEnum("$DEFAULT_IMAGE_REQUEST", 2);
    public static final ModifierEnum<ObjectRecord> I_DEFAULT_IMAGE_RECORD = ModifierEnum.modifierEnum("$DEFAULT_IMAGE_RECORD", 2);
    public static final ModifierEnum<CatalogRecordException> I_CATALOG_RECORD_EXCEPTION = ModifierEnum.modifierEnum("$CATALOG_RECORD_EXCEPTION", 2);
    public static final ModifierEnum<String> I_RULE_SET_FILE = ModifierEnum.modifierEnum("$RULE_SET_FILE", 2);
    public static final ModifierEnum<String> I_ROOT_URL = ModifierEnum.modifierEnum("$ROOT_URL", 2);
    public static final ModifierEnum<Boolean> I_ALLOW_DIRECT_URLS = ModifierEnum.modifierEnum("$ALLOW_DIRECT_URLS", 2);
    public static final ModifierEnum<Boolean> I_REMOTE_IMAGE_VALIDATION = ModifierEnum.modifierEnum("$REMOTE_IMAGE_VALIDATION", 2);
    public static final ModifierEnum<Option<String>> I_HTTP_FLASH_STREAMING_CONTEXT = ModifierEnum.modifierEnum("$HTTP_FLASH_STREAMING_CONTEXT", 2);
    public static final ModifierEnum<Option<String>> I_HTTP_APPLE_STREAMING_CONTEXT = ModifierEnum.modifierEnum("$HTTP_APPLE_STREAMING_CONTEXT", 2);
    public static final ModifierEnum<Option<String>> I_RTMP_STREAMING_CONTEXT = ModifierEnum.modifierEnum("$RTMP_STREAMING_CONTEXT", 2);
    public static final ModifierEnum<String> I_SAVE_PATH = ModifierEnum.modifierEnum("$SAVE_PATH", 2);
    public static final ModifierEnum<Boolean> I_SYNTHESIZE_FONT_STYLES = ModifierEnum.modifierEnum("$SYNTHESIZE_FONT_STYLES", 2);
    public static final ModifierEnum<Boolean> I_IGNORE_LEADING_AND_TRAILING_PARAGRAPHS = ModifierEnum.modifierEnum("$IGNORE_LEADING_AND_TRAILING_PARAGRAPHS", 2);
    public static final ModifierEnum<String> I_REMOTE_ADDRESS = ModifierEnum.modifierEnum("$REMOTE_ADDRESS", 2);
    public static final ModifierEnum<Double> I_RES_PREFILTER = ModifierEnum.modifierEnum("$RES_PREFILTER", 2);
    public static final ModifierEnum<String> I_ERROR_IMAGE = ModifierEnum.modifierEnum("$ERROR_IMAGE", 2);
    public static final ModifierEnum<Integer> I_ERROR_DETAIL = ModifierEnum.modifierEnum("$ERROR_DETAIL", 2);
    public static final ModifierEnum<Map<Object, ModifierSet>> EFFECT = ModifierEnum.modifierEnum("EFFECT", 1);
    public static final ModifierEnum<List<HotSpot>> I_HOT_SPOTS = ModifierEnum.modifierEnum("$HOTSPOTS", 3);
    public static final ModifierEnum<List<HotSpot>> URL_MAP = ModifierEnum.modifierEnum("MAP", 4);
    public static final ModifierEnum<Double> I_INIT_RES = ModifierEnum.modifierEnum("$INIT_RES", 3);
    public static final ModifierEnum<ImageSource> I_MASK_PATH = ModifierEnum.modifierEnum("$MASK_PATH", 3);
    public static final ModifierEnum<ImageSource> I_IMAGE_PATH = ModifierEnum.modifierEnum("$IMAGE_PATH", 3);
    public static final ModifierEnum<List<String>> I_TRUSTED_DOMAINS = ModifierEnum.modifierEnum("$TRUSTED_DOMAINS", 2);
    public static final ModifierEnum<RequestTypeSpec> REQ = ModifierEnum.modifierEnum("REQ", 2);
    public static final ModifierEnum<ModifierList<PSModifierEnum>> I_RESOLVED_URL = ModifierEnum.modifierEnum("$RESOLVED_URL", 2);
    public static final ModifierEnum<String> I_RESOLVED_IMAGEID = ModifierEnum.modifierEnum("$RESOLVED_IMAGEID", 2);
    public static final ModifierEnum<Long> I_COMPILE_TIME = ModifierEnum.modifierEnum("$COMPILE_TIME", 2);
    public static final ModifierEnum<Long> I_LOAD_TIME = ModifierEnum.modifierEnum("$LOAD_TIME", 2);
    public static final ModifierEnum<String> I_PUBLISH_INFO = ModifierEnum.modifierEnum("$PUBLISH_INFO", 2);
    public static final ModifierEnum<Boolean> I_CACHE_VALIDATION_POLICY = ModifierEnum.modifierEnum("$CACHE_VALIDATION_POLICY", 2);
    public static final ModifierEnum<Long> I_LAST_MODIFIED = ModifierEnum.modifierEnum("$LAST_MODIFIED", 2);
    public static final ModifierEnum<Boolean> I_USE_LAST_MODIFIED = ModifierEnum.modifierEnum("$USE_LAST_MODIFIED", 2);
    public static final ModifierEnum<String> I_ENCODING = ModifierEnum.modifierEnum("$ENCODING", 2);
    public static final ModifierEnum<String> DEFAULT_IMAGE = ModifierEnum.modifierEnum("DEFAULTIMAGE", 2);
    public static final ModifierEnum<Double> URL_PRINT_RES = ModifierEnum.modifierEnum("PRINTRES", 2);
    public static final ModifierEnum<String> MESSAGE = ModifierEnum.modifierEnum("MESSAGE", 2);
    public static final ModifierEnum<String> WATERMARK = ModifierEnum.modifierEnum("WATERMARK", 2);
    public static final ModifierEnum<Location> ALIGN = ModifierEnum.modifierEnum("ALIGN", 2);
    public static final ModifierEnum<Color> BGC = ModifierEnum.modifierEnum("BGC", 2);
    public static final ModifierEnum<CacheSpec> CACHE = ModifierEnum.modifierEnum("CACHE", 2);
    public static final ModifierEnum<ClientTypeEnum> CLI = ModifierEnum.modifierEnum("CLI", 2);
    public static final ModifierEnum<FmtSpec> FMT = ModifierEnum.modifierEnum("FMT", 2);
    public static final ModifierEnum<String> LOCALE = ModifierEnum.modifierEnum("LOCALE", 2);
    public static final ModifierEnum<Integer> HEI = ModifierEnum.modifierEnum("HEI", 2);
    public static final ModifierEnum<String> ID = ModifierEnum.modifierEnum("ID", 2);
    public static final ModifierEnum<String> HANDLER = ModifierEnum.modifierEnum("HANDLER", 2);
    public static final ModifierEnum<JpegQualitySpec> QLT = ModifierEnum.modifierEnum("QLT", 2);
    public static final ModifierEnum<Integer> JPEGSIZE = ModifierEnum.modifierEnum("JPEGSIZE", 2);
    public static final ModifierEnum<TileRect> RECT = ModifierEnum.modifierEnum("RECT", 2);
    public static final ModifierEnum<ResModeSpec> RES_MODE = ModifierEnum.modifierEnum("RESMODE", 2);
    public static final ModifierEnum<DefaultImageModeSpec> DEFAULT_IMAGE_MODE = ModifierEnum.modifierEnum("DEFAULTIMAGEMODE", 2);
    public static final ModifierEnum<ScaleModeSpec> SCALE_MODE = ModifierEnum.modifierEnum("SCALEMODE", 2);
    public static final ModifierEnum<Rectangle> RGN = ModifierEnum.modifierEnum("RGN", 2);
    public static final ModifierEnum<Double> SCL = ModifierEnum.modifierEnum("SCL", 2);
    public static final ModifierEnum<Integer> WID = ModifierEnum.modifierEnum("WID", 2);
    public static final ModifierEnum<String> NAME = ModifierEnum.modifierEnum("NAME", 2);
    public static final ModifierEnum<Boolean> CASE_SENSITIVE = ModifierEnum.modifierEnum("CASE_SENSITIVE", 2);
    public static final ModifierEnum<String> VIEW = ModifierEnum.modifierEnum("VIEW", 2);
    public static final ModifierEnum<IccProfileSpec> ICC = ModifierEnum.modifierEnum("ICC", 2);
    public static final ModifierEnum<Boolean> ICC_EMBED = ModifierEnum.modifierEnum("ICCEMBED", 2);
    public static final ModifierEnum<Boolean> XMP_EMBED = ModifierEnum.modifierEnum("XMPEMBED", 2);
    public static final ModifierEnum<Boolean> PATH_EMBED = ModifierEnum.modifierEnum("PATHEMBED", 2);
    public static final ModifierEnum<QuantizeSpec> QUANTIZE = ModifierEnum.modifierEnum("QUANTIZE", 2);
    public static final ModifierEnum<PScanSpec> PSCAN = ModifierEnum.modifierEnum("PSCAN", 2);
    public static final ModifierEnum<DigimarcId> DIGIMARC_ID = ModifierEnum.modifierEnum("DIGIMARCID", 2);
    public static final ModifierEnum<DigimarcInfo> DIGIMARC_INFO = ModifierEnum.modifierEnum("DIGIMARCINFO", 2);
    public static final ModifierEnum<ObjectTypeEnum> TYPE = ModifierEnum.modifierEnum("I_TYPE", 2);
    public static final ModifierEnum<Long> TIMEOUT = ModifierEnum.modifierEnum("TIMEOUT", 2);
    public static final ModifierEnum<FitSpec> FIT = ModifierEnum.modifierEnum("FIT", 2);
    public static final ModifierEnum<Boolean> EFFECTMASK = ModifierEnum.modifierEnum("EFFECTMASK", 2);
    public static final ModifierEnum<IPAddress> IPADDR = ModifierEnum.modifierEnum("IPADDR", 2);
    public static final ModifierEnum<String> LABELKEY = ModifierEnum.modifierEnum("LABELKEY", 2);
    public static final ModifierEnum<ImageSet> IMAGESET = ModifierEnum.modifierEnum("IMAGESET", 2);
    public static final ModifierEnum<Integer> OP_SHARPEN = ModifierEnum.modifierEnum("OP_SHARPEN", 5);
    public static final ModifierEnum<UnsharpMaskSpec> OP_USM = ModifierEnum.modifierEnum("OP_USM", 5);
    public static final ModifierEnum<UnsharpMaskSpec> OP_USMR = ModifierEnum.modifierEnum("OP_USMR", 5);
    public static final ModifierEnum<Point2D.Double> ANCHOR = ModifierEnum.modifierEnum("ANCHOR", 3);
    public static final ModifierEnum<Point2D.Double> ANCHORN = ModifierEnum.modifierEnum("ANCHORN", 3);
    public static final ModifierEnum<BlendModeEnum> BLEND_MODE = ModifierEnum.modifierEnum("BLENDMODE", 3);
    public static final ModifierEnum<AlphaUseEnum> MASK_USE = ModifierEnum.modifierEnum("MASKUSE", 3);
    public static final ModifierEnum<IZColor> COLOR = ModifierEnum.modifierEnum("COLOR", 5);
    public static final ModifierEnum<IZColor> BG_COLOR = ModifierEnum.modifierEnum("BGCOLOR", 3);
    public static final ModifierEnum<ColorSpec> I_COLOR = ModifierEnum.modifierEnum("$COLOR", 5);
    public static final ModifierEnum<ColorSpec> I_BG_COLOR = ModifierEnum.modifierEnum("$BGCOLOR", 3);
    public static final ModifierEnum<Rectangle2D.Double> CROP = ModifierEnum.modifierEnum("CROP", 3);
    public static final ModifierEnum<Rectangle2D.Double> CROPN = ModifierEnum.modifierEnum("CROPN", 3);
    public static final ModifierEnum<double[]> EXTEND = ModifierEnum.modifierEnum("EXTEND", 3);
    public static final ModifierEnum<double[]> EXTENDN = ModifierEnum.modifierEnum("EXTENDN", 3);
    public static final ModifierEnum<LayerSource> MASK = ModifierEnum.modifierEnum("MASK", 3);
    public static final ModifierEnum<Point2D.Double> ORIGIN = ModifierEnum.modifierEnum("ORIGIN", 3);
    public static final ModifierEnum<Point2D.Double> ORIGINN = ModifierEnum.modifierEnum("ORIGINN", 3);
    public static final ModifierEnum<Point2D.Double> POS = ModifierEnum.modifierEnum("POS", 3);
    public static final ModifierEnum<Point2D.Double> POSN = ModifierEnum.modifierEnum("POSN", 3);
    public static final ModifierEnum<Double> DST_RES = ModifierEnum.modifierEnum("RES", 3);
    public static final ModifierEnum<Double> ROTATE = ModifierEnum.modifierEnum("ROTATE", 3);
    public static final ModifierEnum<Double> SCALE = ModifierEnum.modifierEnum("SCALE", 3);
    public static final ModifierEnum<Dimension2D.Double> SIZE = ModifierEnum.modifierEnum("SIZE", 3);
    public static final ModifierEnum<Dimension2D.Double> SIZEN = ModifierEnum.modifierEnum("SIZEN", 3);
    public static final ModifierEnum<LayerSource> SRC = ModifierEnum.modifierEnum("SRC", 3);
    public static final ModifierEnum<Text> TEXT = ModifierEnum.modifierEnum("TEXT", 3);
    public static final ModifierEnum<Double> TEXTANGLE = ModifierEnum.modifierEnum("TEXTANGLE", 3);
    public static final ModifierEnum<TextAttrSpec> TEXT_ATTR = ModifierEnum.modifierEnum("TEXTATTR", 3);
    public static final ModifierEnum<PathAttrSpec> PATH_ATTR = ModifierEnum.modifierEnum("PATHATTR", 3);
    public static final ModifierEnum<String> CLIP_PATH = ModifierEnum.modifierEnum("CLIP_PATH", 3);
    public static final ModifierEnum<String> CLIP_XPATH = ModifierEnum.modifierEnum("XCLIP_PATH", 3);
    public static final ModifierEnum<NamedPaths> CLIP_PATH_E = ModifierEnum.modifierEnum("CLIP_PATH_E", 3);
    public static final ModifierEnum<NamedPaths> CLIP_XPATH_E = ModifierEnum.modifierEnum("CLIP_XPATH_E", 3);
    public static final ModifierEnum<NamedPaths> CROP_PATH_E = ModifierEnum.modifierEnum("CROP_PATH_E", 3);
    public static final ModifierEnum<String> TEXT_FLOW_PATH = ModifierEnum.modifierEnum("TEXT_FLOW_PATH", 3);
    public static final ModifierEnum<String> TEXT_FLOW_XPATH = ModifierEnum.modifierEnum("TEXT_FLOW_XPATH", 3);
    public static final ModifierEnum<String> TEXT_PATH = ModifierEnum.modifierEnum("TEXT_PATH", 3);
    public static final ModifierEnum<Boolean> HIDE = ModifierEnum.modifierEnum("HIDE", 3);
    public static final ModifierEnum<PerspectiveSpec> PERSPECTIVE = ModifierEnum.modifierEnum("PERSPECTIVE", 3);
    public static final ModifierEnum<PerspectiveSpec> PERSPECTIVEN = ModifierEnum.modifierEnum("PERSPECTIVEN", 3);
    public static final ModifierEnum<OpacitySpec> OPACITY = ModifierEnum.modifierEnum("OPAC", 4);
    public static final ModifierEnum<FlipEnum> FLIP = ModifierEnum.modifierEnum("FLIP", 4);
    public static final ModifierEnum<Double> OP_BLUR = ModifierEnum.modifierEnum("OP_BLUR", 4);
    public static final ModifierEnum<Double> OP_DILATE = ModifierEnum.modifierEnum("OP_GROW", 4);
    public static final ModifierEnum<Double> OP_DILATE_MASK = ModifierEnum.modifierEnum("OP_GROWMASK", 3);
    public static final ModifierEnum<Double> OP_DILATE_MASKR = ModifierEnum.modifierEnum("OP_GROWMASKR", 3);
    public static final ModifierEnum<NoiseSpec> OP_NOISE = ModifierEnum.modifierEnum("OP_NOISE", 4);
    public static final ModifierEnum<Double> OP_BRIGHTNESS = ModifierEnum.modifierEnum("OP_BRIGHTNESS", 4);
    public static final ModifierEnum<double[]> OP_COLORBALANCE = ModifierEnum.modifierEnum("OP_COLORBALANCE", 4);
    public static final ModifierEnum<ColorizeSpec> OP_COLORIZE = ModifierEnum.modifierEnum("OP_COLORIZE", 4);
    public static final ModifierEnum<Color> OP_COLORIZE2 = ModifierEnum.modifierEnum("OP_COLORIZE2", 4);
    public static final ModifierEnum<Double> OP_CONTRAST = ModifierEnum.modifierEnum("OP_CONTRAST", 4);
    public static final ModifierEnum<Double> OP_HUE = ModifierEnum.modifierEnum("OP_HUE", 4);
    public static final ModifierEnum<Double> OP_SATURATION = ModifierEnum.modifierEnum("OP_SATURATION", 4);
    public static final ModifierEnum<Boolean> OP_INVERT = ModifierEnum.modifierEnum("OP_INVERT", 4);
    public static final ModifierEnum<Double> IMG_RES = ModifierEnum.modifierEnum("IMG_RES", 2);
    public static final ModifierEnum<Location> IMG_ALIGN = ModifierEnum.modifierEnum("IMG_ALIGN", 2);
    public static final ModifierEnum<Color> IMG_BGC = ModifierEnum.modifierEnum("IMG_BGC", 2);
    public static final ModifierEnum<Size> IMG_DEFAULT_SIZE = ModifierEnum.modifierEnum("IMG_DEFAULT_SIZE", 2);
    public static final ModifierEnum<Double> THUMB_RES = ModifierEnum.modifierEnum("THUMB_RES", 2);
    public static final ModifierEnum<Location> THUMB_ALIGN = ModifierEnum.modifierEnum("THUMB_ALIGN", 2);
    public static final ModifierEnum<Color> THUMB_BGC = ModifierEnum.modifierEnum("THUMB_BGC", 2);
    public static final ModifierEnum<Size> THUMB_DEFAULT_SIZE = ModifierEnum.modifierEnum("THUMB_DEFAULT_SIZE", 2);
    public final int flavor;

    public static Iterator<ModifierEnum<?>> iterator() {
        return VALUE_LIST.iterator();
    }

    public static ModifierEnum<?> forName(String name) {
        ModifierEnum result = VALUES.get(name);
        assert (result != null);
        return result;
    }

    @Nullable
    public static String getIpAddrValue(HttpServletRequest request) throws IZoomException {
        try {
            Enumeration parameterNames = request.getParameterNames();
            while (parameterNames.hasMoreElements()) {
                String name = (String)parameterNames.nextElement();
                if (!name.equalsIgnoreCase("IPADDR")) continue;
                return request.getParameter(name);
            }
            return null;
        }
        catch (Exception e) {
            throw new IZoomException(IZoomException.INVALID_REQUEST, "error occurred attempting to parse request", e);
        }
    }

    protected Enum resolveInstance() {
        return VALUE_LIST.get(this.ordinal());
    }

    @NotNull
    private static <T> ModifierEnum<T> modifierEnum(@NotNull String name, int flavor) {
        return new ModifierEnum<T>(name, flavor);
    }

    private ModifierEnum(@NotNull String name, int flavor) {
        super(name, VALUE_LIST.size());
        this.flavor = flavor;
        VALUE_LIST.add(this);
        ModifierEnum o = VALUES.put(name, this);
        assert (o == null);
    }

    static {
        VALUES.put("BLEND", MASK_USE);
    }
}