1 17 package org.apache.ws.jaxme.generator.types; 18 19 import org.apache.ws.jaxme.generator.sg.SGFactory; 20 import org.apache.ws.jaxme.generator.sg.SchemaSG; 21 import org.apache.ws.jaxme.generator.sg.SimpleTypeSG; 22 import org.apache.ws.jaxme.impl.DatatypeConverterImpl; 23 import org.apache.ws.jaxme.js.JavaQName; 24 import org.apache.ws.jaxme.js.JavaQNameImpl; 25 import org.apache.ws.jaxme.js.TypedValue; 26 import org.apache.ws.jaxme.js.impl.TypedValueImpl; 27 import org.apache.ws.jaxme.xs.XSType; 28 import org.apache.ws.jaxme.xs.parser.impl.LocSAXException; 29 import org.xml.sax.SAXException ; 30 31 32 35 public class ShortSG extends PrimitiveTypeSG { 36 public static final JavaQName SHORT_TYPE = JavaQNameImpl.getInstance(short.class); 37 public static final JavaQName SHORT_OBJECT_TYPE = JavaQNameImpl.getInstance(Short .class); 38 39 41 public ShortSG(SGFactory pFactory, SchemaSG pSchema, XSType pType) throws SAXException { 42 super(pFactory, pSchema, pType); 43 } 44 45 public JavaQName getPrimitiveRuntimeType(SimpleTypeSG pController) { return SHORT_TYPE; } 46 protected JavaQName getObjectRuntimeType(SimpleTypeSG pController) { return SHORT_OBJECT_TYPE; } 47 protected String getDatatypeName() { return "Short"; } 48 protected JavaQName getDatatypeType() { return SHORT_TYPE; } 49 50 public TypedValue getCastFromString(SimpleTypeSG pController, String pValue) throws SAXException { 51 try { 52 return new TypedValueImpl(new Object []{"((", SHORT_TYPE, ")", new Short (new DatatypeConverterImpl().parseShort(pValue)), ")"}, 53 SHORT_TYPE); 54 } catch (RuntimeException e) { 55 try { 56 throw new LocSAXException("Failed to convert string value to " 57 + getDatatypeName() + " instance: " + pValue, getLocator()); 58 } catch (Exception e1) { 59 throw new SAXException("Failed to convert string value to " 60 + getDatatypeName() + " instance: " + pValue); 61 } 62 } 63 } 64 } 65 | Popular Tags |