Coverage Report - uk.co.badgersinfoil.asxsd.MappingRegistryFactory
 
Classes in this File Line Coverage Branch Coverage Complexity
MappingRegistryFactory
97% 
N/A 
1
 
 1  
 /*
 2  
  * Copyright (c) 2007 David Holroyd
 3  
  */
 4  
 
 5  
 package uk.co.badgersinfoil.asxsd;
 6  
 
 7  
 import uk.co.badgersinfoil.asxsd.components.ArrayElementDeclarationComponent;
 8  
 import uk.co.badgersinfoil.asxsd.components.ArrayTypeDeclarationComponent;
 9  
 import uk.co.badgersinfoil.asxsd.components.AttributeDeclarationComponent;
 10  
 import uk.co.badgersinfoil.asxsd.components.AttributeGroupComponent;
 11  
 import uk.co.badgersinfoil.asxsd.components.AttributeGroupReferenceComponent;
 12  
 import uk.co.badgersinfoil.asxsd.components.AttributeUseComponent;
 13  
 import uk.co.badgersinfoil.asxsd.components.BooleanSimpleTypeComponent;
 14  
 import uk.co.badgersinfoil.asxsd.components.ChoiceMappingComponent;
 15  
 import uk.co.badgersinfoil.asxsd.components.ComplexTypeComponent;
 16  
 import uk.co.badgersinfoil.asxsd.components.DateTimeSimpleTypeComponent;
 17  
 import uk.co.badgersinfoil.asxsd.components.ElementDeclarationComponent;
 18  
 import uk.co.badgersinfoil.asxsd.components.ElementDeclarationReferenceComponent;
 19  
 import uk.co.badgersinfoil.asxsd.components.FloatSimpleTypeComponent;
 20  
 import uk.co.badgersinfoil.asxsd.components.IntSimpleTypeComponent;
 21  
 import uk.co.badgersinfoil.asxsd.components.ListComponent;
 22  
 import uk.co.badgersinfoil.asxsd.components.ModelGroupParticleComponent;
 23  
 import uk.co.badgersinfoil.asxsd.components.MultiplyOccuringParticleComponent;
 24  
 import uk.co.badgersinfoil.asxsd.components.OptionallyOccuringParticleComponent;
 25  
 import uk.co.badgersinfoil.asxsd.components.SequenceMappingComponent;
 26  
 import uk.co.badgersinfoil.asxsd.components.SimpleContentComponent;
 27  
 import uk.co.badgersinfoil.asxsd.components.SinglyOccuringParticleComponent;
 28  
 import uk.co.badgersinfoil.asxsd.components.StringSimpleTypeComponent;
 29  
 import uk.co.badgersinfoil.asxsd.components.UnionSimpleTypeComponent;
 30  
 import uk.co.badgersinfoil.asxsd.components.UnknownSimpleTypeComponent;
 31  
 
 32  
 // TODO: Spring?
 33  
 
 34  0
 public class MappingRegistryFactory {
 35  
         public static MappingRegistry createMappingRegistry() {
 36  15
                 MappingRegistry reg = new MappingRegistry();
 37  15
                 reg.register(new OptionallyOccuringParticleComponent());
 38  15
                 reg.register(new SinglyOccuringParticleComponent());
 39  15
                 reg.register(new MultiplyOccuringParticleComponent());
 40  
                 // must come before ElementDeclarationComponent,
 41  15
                 reg.register(new ArrayElementDeclarationComponent());
 42  15
                 reg.register(new ArrayTypeDeclarationComponent());
 43  15
                 reg.register(new ChoiceMappingComponent());
 44  15
                 reg.register(new ElementDeclarationReferenceComponent());
 45  15
                 reg.register(new ElementDeclarationComponent());
 46  15
                 reg.register(new FloatSimpleTypeComponent());
 47  15
                 reg.register(new IntSimpleTypeComponent());
 48  15
                 reg.register(new SequenceMappingComponent());
 49  
                 // must come before any other simpleTypes
 50  15
                 reg.register(new SimpleContentComponent());
 51  15
                 reg.register(new ListComponent());
 52  15
                 reg.register(new StringSimpleTypeComponent("string", "http://www.w3.org/2001/XMLSchema"));
 53  
                 // too big for Flash's Number type, so treat as a String
 54  15
                 reg.register(new StringSimpleTypeComponent("long", "http://www.w3.org/2001/XMLSchema"));
 55  
                 // too big for Flash's Number type, so treat as a String
 56  15
                 reg.register(new StringSimpleTypeComponent("decimal", "http://www.w3.org/2001/XMLSchema"));
 57  
                 // too big for Flash's Number type, so treat as a String
 58  15
                 reg.register(new StringSimpleTypeComponent("double", "http://www.w3.org/2001/XMLSchema"));
 59  
                 // hack; date could go into Date
 60  15
                 reg.register(new StringSimpleTypeComponent("date", "http://www.w3.org/2001/XMLSchema"));
 61  
                 // hack; no obvious representation for time
 62  15
                 reg.register(new StringSimpleTypeComponent("time", "http://www.w3.org/2001/XMLSchema"));
 63  15
                 reg.register(new BooleanSimpleTypeComponent());
 64  15
                 reg.register(new DateTimeSimpleTypeComponent());
 65  
                 // anySimpleType is treated as a string.  some handling for anySimpleType is required for UnknownSimpleTypeComponent to work reasonably
 66  15
                 reg.register(new StringSimpleTypeComponent("anySimpleType", "http://www.w3.org/2001/XMLSchema"));
 67  
                 // must come after all the other simple type registrations,
 68  15
                 reg.register(new UnknownSimpleTypeComponent());
 69  15
                 reg.register(new ComplexTypeComponent());
 70  15
                 reg.register(new AttributeUseComponent());
 71  15
                 reg.register(new AttributeDeclarationComponent());
 72  15
                 reg.register(new AttributeGroupReferenceComponent());
 73  15
                 reg.register(new AttributeGroupComponent());
 74  15
                 reg.register(new ModelGroupParticleComponent());
 75  15
                 reg.register(new UnionSimpleTypeComponent());
 76  15
                 return reg;
 77  
         }
 78  
 }