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.Locator ; 30 import org.xml.sax.SAXException ; 31 32 33 36 public class IntSG extends PrimitiveTypeSG { 37 public static final JavaQName INT_TYPE = JavaQNameImpl.getInstance(int.class); 38 public static final JavaQName INT_OBJECT_TYPE = JavaQNameImpl.getInstance(Integer .class); 39 40 42 public IntSG(SGFactory pFactory, SchemaSG pSchema, XSType pType) throws SAXException { 43 super(pFactory, pSchema, pType); 44 } 45 46 public JavaQName getPrimitiveRuntimeType(SimpleTypeSG pController) { return INT_TYPE; } 47 protected JavaQName getObjectRuntimeType(SimpleTypeSG pController) { return INT_OBJECT_TYPE; } 48 protected String getDatatypeName() { return "Int"; } 49 protected JavaQName getDatatypeType() { return INT_TYPE; } 50 51 public TypedValue getCastFromString(SimpleTypeSG pController, String pValue) throws SAXException { 52 try { 53 return new TypedValueImpl(new Integer (new DatatypeConverterImpl().parseInt(pValue)), INT_TYPE); 54 } catch (NumberFormatException e) { 55 Locator locator; 56 try { 57 locator = getLocator(); 58 } catch (Exception f) { 59 throw new SAXException("Failed to convert string value to integer: " + pValue); 60 } 61 throw new LocSAXException("Failed to convert string value to integer: " + pValue, locator); 62 } 63 } 64 } 65 | Popular Tags |