1 19 20 package org.netbeans.modules.xml.schema.model.impl; 21 import java.util.ArrayList ; 22 import java.util.Collection ; 23 import java.util.List ; 24 import org.netbeans.modules.xml.schema.model.Annotation; 25 import org.netbeans.modules.xml.schema.model.SchemaComponent; 26 import org.netbeans.modules.xml.schema.model.ComplexContent; 27 import org.netbeans.modules.xml.schema.model.ComplexContentDefinition; 28 import org.netbeans.modules.xml.schema.model.visitor.SchemaVisitor; 29 import org.w3c.dom.Element ; 30 34 public class ComplexContentImpl extends SchemaComponentImpl implements ComplexContent{ 35 36 37 protected ComplexContentImpl(SchemaModelImpl model) { 38 this(model, createNewComponent(SchemaElements.COMPLEX_CONTENT, model)); 39 } 40 41 public ComplexContentImpl(SchemaModelImpl model, Element el){ 42 super(model,el); 43 } 44 45 49 public Class <? extends SchemaComponent> getComponentType() { 50 return ComplexContent.class; 51 } 52 53 public void setMixed(Boolean mixed) { 54 setAttribute(MIXED_PROPERTY, SchemaAttributes.MIXED, mixed); 55 } 56 57 public Boolean isMixed() { 58 String s = getAttribute(SchemaAttributes.MIXED); 60 return s == null ? null : Boolean.valueOf(s); 61 } 62 63 public void setLocalDefinition(ComplexContentDefinition definition) { 64 if(definition == null){ 65 throw new IllegalArgumentException ("ComplexContentDefinition is null"); 66 } 67 List <Class <? extends SchemaComponent>> list = new ArrayList <Class <? extends SchemaComponent>>(); 68 list.add(Annotation.class); 69 setChild(ComplexContentDefinition.class, LOCAL_DEFINITION_PROPERTY, definition, list); 70 } 71 72 public ComplexContentDefinition getLocalDefinition() { 73 Collection <ComplexContentDefinition> elements = getChildren(ComplexContentDefinition.class); 74 if(!elements.isEmpty()){ 75 return elements.iterator().next(); 76 } 77 return null; 79 } 80 81 84 public void accept(SchemaVisitor visitor) { 85 visitor.visit(this); 86 } 87 88 public boolean getMixedEffective() { 89 Boolean v = isMixed(); 90 return v == null ? getMixedDefault() : v; 91 } 92 93 99 public boolean getMixedDefault() { 100 return false; 102 } 103 } 104 | Popular Tags |