KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > xml > schema > model > impl > ConstraintImpl


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.netbeans.modules.xml.schema.model.impl;
21
22 import java.util.ArrayList JavaDoc;
23 import java.util.Collection JavaDoc;
24 import java.util.List JavaDoc;
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 JavaDoc;/**
31  *
32  * @author Vidhya Narayanan
33  */

34 public abstract class ConstraintImpl extends NamedImpl
35     implements Constraint {
36     
37     /**
38      * Creates a new instance of ConstraintImpl
39      */

40     public ConstraintImpl(SchemaModelImpl model) {
41         this(model,createNewComponent(SchemaElements.KEY,model));
42     }
43     
44     /**
45      * Creates a new instance of ConstraintImpl
46      */

47     public ConstraintImpl(SchemaModelImpl model, Element JavaDoc el) {
48         super(model, el);
49     }
50     
51     /**
52      *
53      */

54     public void setSelector(Selector s) {
55         List JavaDoc<Class JavaDoc<? extends SchemaComponent>> classes = new ArrayList JavaDoc<Class JavaDoc<? extends SchemaComponent>>();
56         classes.add(Annotation.class);
57         setChild(Selector.class, SELECTOR_PROPERTY, s, classes);
58     }
59     
60     /**
61      *
62      */

63     public Selector getSelector() {
64         Collection JavaDoc<Selector> elements = getChildren(Selector.class);
65         if(!elements.isEmpty()){
66             return elements.iterator().next();
67         }
68         return null;
69     }
70     
71     /**
72      *
73      */

74     public Collection JavaDoc<Field> getFields() {
75         return getChildren(Field.class);
76     }
77     
78     /**
79      *
80      */

81     public void deleteField(Field field) {
82         removeChild(FIELD_PROPERTY, field);
83     }
84     
85     /**
86      *
87      */

88     public void addField(Field field) {
89         List JavaDoc<java.lang.Class JavaDoc<? extends SchemaComponent>> list = new ArrayList JavaDoc<Class JavaDoc<? extends SchemaComponent>>();
90         list.add(Annotation.class);
91         list.add(Selector.class);
92         addAfter(FIELD_PROPERTY, field, list);
93     }
94 }
95
Popular Tags