Coverage Report - uk.co.badgersinfoil.asxsd.components.IntSimpleTypeComponent
 
Classes in this File Line Coverage Branch Coverage Complexity
IntSimpleTypeComponent
93% 
100% 
1.667
 
 1  
 /*
 2  
  * Copyright (c) 2007 David Holroyd
 3  
  */
 4  
 
 5  
 package uk.co.badgersinfoil.asxsd.components;
 6  
 
 7  
 import org.eclipse.xsd.XSDConcreteComponent;
 8  
 import org.eclipse.xsd.XSDSimpleTypeDefinition;
 9  
 import org.eclipse.xsd.XSDVariety;
 10  
 import uk.co.badgersinfoil.asxsd.CodegenContext;
 11  
 import uk.co.badgersinfoil.asxsd.CodegenRole;
 12  
 import uk.co.badgersinfoil.asxsd.TypeDescriptor;
 13  
 import uk.co.badgersinfoil.metaas.dom.ASConstants;
 14  
 import uk.co.badgersinfoil.metaas.dom.StatementContainer;
 15  
 
 16  15
 public class IntSimpleTypeComponent extends AbstractSimpleTypeComponent {
 17  
 
 18  
         protected TypeDescriptor createTypeDescriptor(CodegenContext context,
 19  
                                                       XSDSimpleTypeDefinition simpleType)
 20  
         {
 21  3
                 return new TypeDescriptor(ASConstants.TYPE_INT, false, null, simpleType);
 22  
         }
 23  
 
 24  
         public void generateCode(CodegenContext context, XSDConcreteComponent component) {
 25  6
                 CodegenRole role = context.getCurrentRole();
 26  6
                 if (role == CodegenRole.UNMARSHAL) {
 27  3
                         StatementContainer code = context.getCurrentMethodCode();
 28  3
                         String expr = "thisValue";
 29  3
                         code.addStmt("return Number("+expr+")");
 30  3
                 } else if (role == CodegenRole.MARSHAL) {
 31  3
                         StatementContainer code = context.getCurrentMethodCode();
 32  3
                         String expr = "thisValue";
 33  3
                         code.addStmt("return String("+expr+")");
 34  3
                 } else {
 35  0
                         super.generateCode(context, component);
 36  
                 }
 37  6
         }
 38  
 
 39  
         protected boolean willAcceptType(XSDSimpleTypeDefinition simpleType) {
 40  1115
                 return simpleType.getVariety() == XSDVariety.ATOMIC_LITERAL
 41  
                     && "int".equals(simpleType.getName())
 42  
                     && "http://www.w3.org/2001/XMLSchema".equals(simpleType.getTargetNamespace());
 43  
         }
 44  
 }