1 28 29 package com.idaremedia.antx.parameters; 30 31 import com.idaremedia.antx.helpers.Tk; 32 33 43 44 public final class IsA extends EnumSkeleton 45 { 46 47 public static final int LITERAL_INDEX= 0; 48 49 public static final int PROPERTY_INDEX= LITERAL_INDEX+1; 50 51 public static final int VARIABLE_INDEX= PROPERTY_INDEX+1; 52 53 public static final int REFERENCE_INDEX= VARIABLE_INDEX+1; 54 55 56 public static final IsA LITERAL = new IsA("literal",LITERAL_INDEX); 57 58 public static final IsA PROPERTY = new IsA("property",PROPERTY_INDEX); 59 60 public static final IsA VARIABLE = new IsA("variable",VARIABLE_INDEX); 61 62 public static final IsA REFERENCE = new IsA("reference",REFERENCE_INDEX); 63 64 65 68 public IsA() 69 { 70 super(); 71 } 72 73 74 78 private IsA(String v, int i) 79 { 80 super(v); 81 } 82 83 84 88 public String [] getValues() 89 { 90 return new String [] {"literal","property","variable","reference"}; 91 }; 92 93 94 95 100 public static IsA from(int i) 101 { 102 if (i==PROPERTY.index) { return PROPERTY; } 103 if (i==VARIABLE.index) { return VARIABLE; } 104 if (i==REFERENCE.index) { return REFERENCE; } 105 if (i==LITERAL.index) { return LITERAL; } 106 return null; 107 } 108 109 110 117 public static IsA from(int i, IsA dflt) 118 { 119 IsA isa= from(i); 120 return (isa==null) ? dflt : isa; 121 } 122 123 124 129 public static IsA from(String s) 130 { 131 if (s!=null && s.length()>1) { 132 s = Tk.lowercaseFrom(s); 133 if (Character.isDigit(s.charAt(0))) { 134 try { return from(Integer.parseInt(s)); } 135 catch(Exception nfx) {} 136 } else { 137 if ("prop".equals(s)) { return PROPERTY; } 138 if (PROPERTY.value.equals(s)) { return PROPERTY; } 139 if ("var".equals(s)) { return VARIABLE; } 140 if (VARIABLE.value.equals(s)) { return VARIABLE; } 141 if ("ref".equals(s)) { return REFERENCE;} 142 if (REFERENCE.value.equals(s)) { return REFERENCE;} 143 if ("value".equals(s)) { return LITERAL; } 144 if (LITERAL.value.equals(s)) { return LITERAL; } 145 146 if ("variables".equals(s)) { return VARIABLE; } 147 if ("references".equals(s)) { return REFERENCE;} 148 if ("properties".equals(s)) { return PROPERTY; } 149 if ("default".equals(s)) { return PROPERTY; } 150 } 151 } 152 return null; 153 } 154 155 156 163 public static IsA from(String s, IsA dflt) 164 { 165 IsA isa= from(s); 166 return (isa==null) ? dflt : isa; 167 } 168 } 169 170 171 | Popular Tags |