KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > javacore > jmiimpl > javamodel > InitializerClassImpl


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 package org.netbeans.modules.javacore.jmiimpl.javamodel;
20
21 import org.netbeans.jmi.javamodel.Initializer;
22 import org.netbeans.jmi.javamodel.InitializerClass;
23 import org.netbeans.jmi.javamodel.JavaDoc;
24 import org.netbeans.jmi.javamodel.StatementBlock;
25 import org.netbeans.mdr.storagemodel.StorableClass;
26 import java.util.List JavaDoc;
27
28 /**
29  * Implementation of Initializer class proxy interface.
30  *
31  * @author Martin Matula, Vladimir Hudec
32  */

33 public abstract class InitializerClassImpl extends SemiPersistentClass implements InitializerClass {
34
35     protected InitializerClassImpl(StorableClass s) {
36         super(s);
37     }
38     
39     /**
40      * The default factory operation used to create an instance object.
41      * @return The created instance object.
42      */

43     public Initializer createInitializer() {
44         return create(null, 0, null, null, null, null);
45     }
46     
47     /**
48      * Creates an instance object having attributes initialized by the passed
49      * values.
50      * @param name
51      * @param annotations
52      * @param modifiers
53      * @param javadocText
54      * @param javadoc
55      * @param body
56      * @param bodyText
57      * @return The created instance object.
58      */

59     public Initializer createInitializer(java.lang.String JavaDoc name, List JavaDoc annotations, int modifiers, java.lang.String JavaDoc javadocText, JavaDoc javadoc, StatementBlock body, java.lang.String JavaDoc bodyText) {
60         return create(annotations, modifiers, javadocText, javadoc, body, bodyText);
61     }
62     
63     private Initializer create(List JavaDoc annotations, int modifiers, java.lang.String JavaDoc javadocText, JavaDoc javadoc, StatementBlock body, java.lang.String JavaDoc bodyText) {
64         InitializerImpl result = create(modifiers, false);
65         result.setNew();
66         result.setData(annotations, javadocText, javadoc, body, bodyText);
67         return result;
68     }
69
70     public InitializerImpl create(int modifiers, boolean isTransient) {
71         if (isTransient) {
72             InitializerImpl result = (InitializerImpl) createTransient();
73             boolean changes = result.disableChanges;
74             result.disableChanges = true;
75             try {
76                 result.setModifiers(modifiers);
77             } finally {
78                 result.disableChanges = changes;
79             }
80             return result;
81         } else {
82             return (InitializerImpl) super_createInitializer(null, null, modifiers, null, null, null, null);
83         }
84     }
85
86     protected abstract Initializer super_createInitializer();
87     protected abstract Initializer super_createInitializer(java.lang.String JavaDoc name, List JavaDoc annotations, int modifiers, java.lang.String JavaDoc javadocText, JavaDoc javadoc, StatementBlock body, java.lang.String JavaDoc bodyText);
88 }
89
Popular Tags