KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > xml > axi > impl > VenetianBlind


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-2007 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.netbeans.modules.xml.axi.impl;
21
22 import org.netbeans.modules.xml.axi.AXIComponent;
23 import org.netbeans.modules.xml.axi.Element;
24 import org.netbeans.modules.xml.axi.SchemaGenerator;
25 import org.netbeans.modules.xml.schema.model.*;
26
27 /**
28  *
29  * @author Ayub Khan
30  */

31 public class VenetianBlind extends GardenOfEden {
32     
33     /**
34      * Creates a new instance of VenetianBlind
35      */

36     public VenetianBlind(SchemaGenerator.Mode mode) {
37         super(mode);
38     }
39     
40     protected SchemaGenerator.Pattern getSchemaDesignPattern() {
41         return SchemaGenerator.Pattern.VENITIAN_BLIND;
42     }
43     
44     public void visit(Element element) {
45         prepareLocalElement(element);
46     }
47     
48     protected void setPeer(final Element element,
49             final org.netbeans.modules.xml.schema.model.Element e,
50             final ElementReference eref) {
51         if(element.getPeer() != null && element.getChildren().size() > 0 &&
52                 SchemaGeneratorUtil.isGlobalElement(element)) {
53             LocalType lct = SchemaGeneratorUtil.getLocalComplexType(e);
54             if(lct == null)
55                 lct = SchemaGeneratorUtil.createLocalComplexType(sm, e);
56             assert lct != null;
57             scParent = lct;
58         } else
59             super.setPeer(element, e, eref);
60     }
61     
62     protected SchemaComponent getParent(
63             AXIComponent axiparent) throws IllegalArgumentException JavaDoc {
64         SchemaComponent scParent = null;
65         if(axiparent instanceof Element &&
66                 (SchemaGeneratorUtil.isGlobalElement(axiparent) /*||
67                                         isSimpleElementStructure((Element)axiparent)*/
)) {
68             SchemaComponent e = axiparent.getPeer();
69             if(e instanceof ElementReference)
70                 e = ((ElementReference)e).getRef().get();
71             assert e != null;
72             SchemaComponent lct = SchemaGeneratorUtil.getLocalComplexType(e);
73             if(lct == null) {
74                 lct = SchemaGeneratorUtil.getGlobalComplexType(e);
75                 if(lct == null)
76                     lct = SchemaGeneratorUtil.createLocalComplexType(sm, e);
77             }
78             assert lct != null;
79             scParent = lct;
80         } else {
81             scParent = super.getParent(axiparent);
82         }
83         return scParent;
84     }
85 }
86
Popular Tags