1 19 20 package org.netbeans.modules.xml.schema.model.impl; 21 22 import java.util.ArrayList ; 23 import java.util.Collection ; 24 import java.util.List ; 25 import org.netbeans.modules.xml.schema.model.Annotation; 26 import org.netbeans.modules.xml.schema.model.AnyAttribute; 27 import org.netbeans.modules.xml.schema.model.AttributeGroupReference; 28 import org.netbeans.modules.xml.schema.model.AttributeReference; 29 import org.netbeans.modules.xml.schema.model.ComplexType; 30 import org.netbeans.modules.xml.schema.model.ComplexTypeDefinition; 31 import org.netbeans.modules.xml.schema.model.LocalAttribute; 32 import org.netbeans.modules.xml.schema.model.SchemaComponent; 33 import org.w3c.dom.Element ; 34 35 36 40 public abstract class CommonComplexTypeImpl extends SchemaComponentImpl implements ComplexType{ 41 42 43 public CommonComplexTypeImpl(SchemaModelImpl model, Element el) { 44 super(model, el); 45 } 46 47 public void setMixed(Boolean mixed) { 48 setAttribute(MIXED_PROPERTY , SchemaAttributes.MIXED, mixed); 49 } 50 51 public Boolean isMixed() { 52 String s = getAttribute(SchemaAttributes.MIXED); 53 return s == null ? null : Boolean.valueOf(s); 54 } 55 56 public void addLocalAttribute(LocalAttribute attr) { 57 List <java.lang.Class <? extends SchemaComponent>> list = new ArrayList <java.lang.Class <? extends SchemaComponent>>(); 63 list.add(Annotation.class); 64 list.add(ComplexTypeDefinition.class); 65 addAfter(LOCAL_ATTRIBUTE_PROPERTY, attr, list); 66 } 67 68 public Collection <LocalAttribute> getLocalAttributes() { 69 return getChildren(LocalAttribute.class); 70 } 71 72 public void removeLocalAttribute(LocalAttribute attr) { 73 removeChild(LOCAL_ATTRIBUTE_PROPERTY, attr); 74 } 75 76 public void addAttributeReference(AttributeReference attr) { 77 List <java.lang.Class <? extends SchemaComponent>> list = new ArrayList <java.lang.Class <? extends SchemaComponent>>(); 83 list.add(Annotation.class); 84 list.add(ComplexTypeDefinition.class); 85 addAfter(LOCAL_ATTRIBUTE_PROPERTY, attr, list); 86 } 87 88 public Collection <AttributeReference> getAttributeReferences() { 89 return getChildren(AttributeReference.class); 90 } 91 92 public void removeAttributeReference(AttributeReference attr) { 93 removeChild(LOCAL_ATTRIBUTE_PROPERTY, attr); 94 } 95 96 public void setAnyAttribute(AnyAttribute attr) { 97 List <java.lang.Class <? extends SchemaComponent>> list = new ArrayList <java.lang.Class <? extends SchemaComponent>>(); 103 list.add(Annotation.class); 104 list.add(ComplexTypeDefinition.class); 105 list.add(AttributeGroupReference.class); 106 107 setChild(AnyAttribute.class, ANY_ATTRIBUTE_PROPERTY, attr, list); 108 } 109 110 public AnyAttribute getAnyAttribute() { 111 Collection <AnyAttribute> elements = getChildren(AnyAttribute.class); 112 if(!elements.isEmpty()){ 113 return elements.iterator().next(); 114 } 115 return null; 116 } 117 118 public void addAttributeGroupReference(AttributeGroupReference ref) { 119 List <java.lang.Class <? extends SchemaComponent>> list = new ArrayList <java.lang.Class <? extends SchemaComponent>>(); 125 list.add(Annotation.class); 126 list.add(ComplexTypeDefinition.class); 127 addAfter(ATTRIBUTE_GROUP_REFERENCE_PROPERTY, ref, list); 128 } 129 130 public void removeAttributeGroupReference(AttributeGroupReference ref) { 131 removeChild(ATTRIBUTE_GROUP_REFERENCE_PROPERTY, ref); 132 } 133 134 public Collection <AttributeGroupReference> getAttributeGroupReferences() { 135 return getChildren(AttributeGroupReference.class); 136 } 137 138 public void setDefinition(ComplexTypeDefinition content) { 139 Collection <Class <? extends SchemaComponent>> list = new ArrayList <Class <? extends SchemaComponent>>(); 145 list.add(Annotation.class); 146 setChild(ComplexTypeDefinition.class, DEFINITION_PROPERTY, content, list); 147 } 148 149 public ComplexTypeDefinition getDefinition() { 150 Collection <ComplexTypeDefinition> elements = getChildren(ComplexTypeDefinition.class); 151 if(!elements.isEmpty()){ 152 return elements.iterator().next(); 153 } 154 return null; 156 } 157 158 public boolean getMixedEffective() { 159 Boolean v = isMixed(); 160 return v == null ? getMixedDefault() : v; 161 } 162 163 public boolean getMixedDefault() { 164 return false; 165 } 166 } 167 | Popular Tags |