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.Constraint; 27 import org.netbeans.modules.xml.schema.model.Field; 28 import org.netbeans.modules.xml.schema.model.SchemaComponent; 29 import org.netbeans.modules.xml.schema.model.Selector; 30 import org.w3c.dom.Element ; 34 public abstract class ConstraintImpl extends NamedImpl 35 implements Constraint { 36 37 40 public ConstraintImpl(SchemaModelImpl model) { 41 this(model,createNewComponent(SchemaElements.KEY,model)); 42 } 43 44 47 public ConstraintImpl(SchemaModelImpl model, Element el) { 48 super(model, el); 49 } 50 51 54 public void setSelector(Selector s) { 55 List <Class <? extends SchemaComponent>> classes = new ArrayList <Class <? extends SchemaComponent>>(); 56 classes.add(Annotation.class); 57 setChild(Selector.class, SELECTOR_PROPERTY, s, classes); 58 } 59 60 63 public Selector getSelector() { 64 Collection <Selector> elements = getChildren(Selector.class); 65 if(!elements.isEmpty()){ 66 return elements.iterator().next(); 67 } 68 return null; 69 } 70 71 74 public Collection <Field> getFields() { 75 return getChildren(Field.class); 76 } 77 78 81 public void deleteField(Field field) { 82 removeChild(FIELD_PROPERTY, field); 83 } 84 85 88 public void addField(Field field) { 89 List <java.lang.Class <? extends SchemaComponent>> list = new ArrayList <Class <? extends SchemaComponent>>(); 90 list.add(Annotation.class); 91 list.add(Selector.class); 92 addAfter(FIELD_PROPERTY, field, list); 93 } 94 } 95 | Popular Tags |