1 61 62 63 64 package org.jaxen.saxpath; 65 66 import org.jaxen.JaxenRuntimeException; 67 68 69 70 75 public class Axis 76 { 77 78 private Axis() {} 79 80 82 public final static int INVALID_AXIS = 0; 83 84 85 public final static int CHILD = 1; 86 87 88 public final static int DESCENDANT = 2; 89 90 91 public final static int PARENT = 3; 92 93 94 public final static int ANCESTOR = 4; 95 96 97 public final static int FOLLOWING_SIBLING = 5; 98 99 100 public final static int PRECEDING_SIBLING = 6; 101 102 103 public final static int FOLLOWING = 7; 104 105 106 public final static int PRECEDING = 8; 107 108 109 public final static int ATTRIBUTE = 9; 110 111 112 public final static int NAMESPACE = 10; 113 114 115 public final static int SELF = 11; 116 117 118 public final static int DESCENDANT_OR_SELF = 12; 119 120 121 public final static int ANCESTOR_OR_SELF = 13; 122 123 133 public static String lookup(int axisNum) 134 { 135 switch ( axisNum ) 136 { 137 case CHILD: 138 return "child"; 139 140 case DESCENDANT: 141 return "descendant"; 142 143 case PARENT: 144 return "parent"; 145 146 case ANCESTOR: 147 return "ancestor"; 148 149 case FOLLOWING_SIBLING: 150 return "following-sibling"; 151 152 case PRECEDING_SIBLING: 153 return "preceding-sibling"; 154 155 case FOLLOWING: 156 return "following"; 157 158 case PRECEDING: 159 return "preceding"; 160 161 case ATTRIBUTE: 162 return "attribute"; 163 164 case NAMESPACE: 165 return "namespace"; 166 167 case SELF: 168 return "self"; 169 170 case DESCENDANT_OR_SELF: 171 return "descendant-or-self"; 172 173 case ANCESTOR_OR_SELF: 174 return "ancestor-or-self"; 175 } 176 177 throw new JaxenRuntimeException("Illegal Axis Number"); 178 } 179 180 188 public static int lookup(String axisName) 189 { 190 if ( "child".equals( axisName ) ) 191 { 192 return CHILD; 193 } 194 195 if ( "descendant".equals( axisName ) ) 196 { 197 return DESCENDANT; 198 } 199 200 if ( "parent".equals( axisName ) ) 201 { 202 return PARENT; 203 } 204 205 if ( "ancestor".equals( axisName ) ) 206 { 207 return ANCESTOR; 208 } 209 210 if ( "following-sibling".equals( axisName ) ) 211 { 212 return FOLLOWING_SIBLING; 213 } 214 215 if ( "preceding-sibling".equals( axisName ) ) 216 { 217 return PRECEDING_SIBLING; 218 } 219 220 if ( "following".equals( axisName ) ) 221 { 222 return FOLLOWING; 223 } 224 225 if ( "preceding".equals( axisName ) ) 226 { 227 return PRECEDING; 228 } 229 230 if ( "attribute".equals( axisName ) ) 231 { 232 return ATTRIBUTE; 233 } 234 235 if ( "namespace".equals( axisName ) ) 236 { 237 return NAMESPACE; 238 } 239 240 if ( "self".equals( axisName ) ) 241 { 242 return SELF; 243 } 244 245 if ( "descendant-or-self".equals( axisName ) ) 246 { 247 return DESCENDANT_OR_SELF; 248 } 249 250 if ( "ancestor-or-self".equals( axisName ) ) 251 { 252 return ANCESTOR_OR_SELF; 253 } 254 255 return INVALID_AXIS; 256 } 257 } 258 | Popular Tags |