1 19 20 package org.netbeans.modules.xml.schema.model.impl; 21 22 import java.util.Set ; 23 import org.netbeans.modules.xml.schema.model.GlobalElement; 24 import org.netbeans.modules.xml.schema.model.GlobalElement.Final; 25 import org.netbeans.modules.xml.schema.model.SchemaComponent; 26 import org.netbeans.modules.xml.schema.model.visitor.SchemaVisitor; 27 import org.netbeans.modules.xml.xam.dom.NamedComponentReference; 28 import org.w3c.dom.Element ; 29 33 public class GlobalElementImpl extends ElementImpl implements GlobalElement { 34 35 public GlobalElementImpl(SchemaModelImpl model) { 36 this(model,createNewComponent(SchemaElements.ELEMENT,model)); 37 } 38 39 42 public GlobalElementImpl(SchemaModelImpl model, Element el) { 43 super(model, el); 44 } 45 46 50 public Class <? extends SchemaComponent> getComponentType() { 51 return GlobalElement.class; 52 } 53 54 57 public void setSubstitutionGroup(NamedComponentReference<GlobalElement> element) { 58 setAttribute(SUBSTITUTION_GROUP_PROPERTY, SchemaAttributes.SUBSTITUTION_GROUP, element); 59 } 60 61 64 public NamedComponentReference<GlobalElement> getSubstitutionGroup() { 65 return resolveGlobalReference(GlobalElement.class, SchemaAttributes.SUBSTITUTION_GROUP); 66 } 67 68 71 public void setAbstract(Boolean abstr) { 72 setAttribute(ABSTRACT_PROPERTY, SchemaAttributes.ABSTRACT, abstr); 73 } 74 75 78 public Boolean isAbstract() { 79 String s = getAttribute(SchemaAttributes.ABSTRACT); 80 return s == null ? null : Boolean.valueOf(s); 81 } 82 83 84 public boolean getAbstractEffective() { 85 Boolean v = isAbstract(); 86 return v == null ? getAbstractDefault() : v; 87 } 88 89 public boolean getAbstractDefault() { 90 return false; 91 } 92 93 public void setFinal(Set <Final> finalValue) { 94 setAttribute(FINAL_PROPERTY, SchemaAttributes.FINAL, 95 finalValue == null ? null : 96 Util.convertEnumSet(Final.class, finalValue)); 97 } 98 99 public Set <Final> getFinal() { 100 String s = getAttribute(SchemaAttributes.FINAL); 101 return s == null ? null : Util.valuesOf(Final.class, s); 102 } 103 104 public Set <Final> getFinalEffective() { 105 Set <Final> v = getFinal(); 106 return v == null ? getFinalDefault() : v; 107 } 108 109 public Set <Final> getFinalDefault() { 110 return Util.convertEnumSet(Final.class, getModel().getSchema().getFinalDefaultDefault()); 111 } 112 113 public void accept(SchemaVisitor visitor) { 114 visitor.visit(this); 115 } 116 117 protected Class getAttributeMemberType(SchemaAttributes attr) { 118 switch(attr) { 119 case FINAL: 120 return Final.class; 121 default: 122 return super.getAttributeMemberType(attr); 123 } 124 } 125 } 126 | Popular Tags |