1 19 20 package org.netbeans.modules.xml.schema.model.impl; 21 22 import org.netbeans.modules.xml.schema.model.Attribute.Use; 23 import org.netbeans.modules.xml.schema.model.Form; 24 import org.netbeans.modules.xml.schema.model.GlobalAttribute; 25 import org.netbeans.modules.xml.schema.model.LocalAttribute; 26 import org.netbeans.modules.xml.schema.model.Attribute.Use; 27 import org.netbeans.modules.xml.xam.dom.NamedComponentReference; 28 import org.w3c.dom.Element ; 29 30 33 public abstract class LocalAttributeBaseImpl extends CommonAttributeImpl { 34 35 38 public LocalAttributeBaseImpl(SchemaModelImpl model) { 39 super(model,createNewComponent(SchemaElements.ATTRIBUTE, model)); 40 } 41 42 45 public LocalAttributeBaseImpl(SchemaModelImpl model, Element e) { 46 super(model,e); 47 } 48 49 52 public LocalAttribute.Use getUse() { 53 String s = getAttribute(SchemaAttributes.USE); 54 return s == null ? null : Util.parse(Use.class, s); 55 } 56 57 public Use getUseEffective() { 58 Use v = getUse(); 59 return v == null ? getUseDefault() : v; 60 } 61 62 public Use getUseDefault() { 63 return Use.OPTIONAL; 64 } 65 66 69 public void setUse(LocalAttribute.Use use) { 70 setAttribute(LocalAttribute.USE_PROPERTY, SchemaAttributes.USE, use); 71 } 72 73 76 public NamedComponentReference<GlobalAttribute> getRef() { 77 return resolveGlobalReference(GlobalAttribute.class, SchemaAttributes.REF); 78 } 79 80 83 public void setRef(NamedComponentReference<GlobalAttribute> attribute) { 84 setAttribute(LocalAttribute.REF_PROPERTY, SchemaAttributes.REF, attribute); 85 } 86 87 90 public Form getForm() { 91 String s = getAttribute(SchemaAttributes.FORM); 92 return s == null ? null : Util.parse(Form.class, s); 93 } 94 95 public Form getFormEffective() { 96 Form v = getForm(); 97 return v == null ? getFormDefault() : v; 98 } 99 100 public Form getFormDefault() { 101 return getModel().getSchema().getAttributeFormDefaultEffective(); 102 } 103 104 107 public void setForm(Form form) { 108 setAttribute(LocalAttribute.FORM_PROPERTY, SchemaAttributes.FORM, form); 109 } 110 111 } 112 | Popular Tags |