KickJava   Java API By Example, From Geeks To Geeks.

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


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.javacore.jmiimpl.javamodel;
21
22 import org.netbeans.jmi.javamodel.Parameter;
23 import org.netbeans.jmi.javamodel.ParameterClass;
24 import org.netbeans.jmi.javamodel.TypeReference;
25 import org.netbeans.mdr.storagemodel.StorableClass;
26 import org.netbeans.modules.javacore.parser.TypeRef;
27
28 public abstract class ParameterClassImpl extends SemiPersistentClass implements ParameterClass {
29
30     protected ParameterClassImpl(StorableClass s) {
31         super(s);
32     }
33
34     public Parameter createParameter() {
35         return create(null, null, false, null, 0, false);
36     }
37
38     public Parameter createParameter(java.lang.String JavaDoc name, java.util.List JavaDoc annotations, boolean isFinal, TypeReference typeName, int dimCount, boolean isVarArg) {
39         return create(name, annotations, isFinal, typeName, dimCount, isVarArg);
40     }
41     
42     private Parameter create(java.lang.String JavaDoc name, java.util.List JavaDoc annotations, boolean isFinal, TypeReference typeName, int dimCount, boolean isVarArg) {
43         ParameterImpl result = create(name, isFinal, isVarArg, null, false);
44         result.setNew();
45         result.setData(annotations, typeName, dimCount);
46         return result;
47     }
48
49     protected abstract Parameter super_createParameter(java.lang.String JavaDoc name, java.util.List JavaDoc annotations, boolean isFinal, TypeReference typeName, int dimCount, boolean isVarArg);
50
51     public ParameterImpl create(String JavaDoc name, boolean isFinal, boolean isVarArg, TypeRef type, boolean isTransient) {
52         ParameterImpl result;
53         if (isTransient) {
54             result = (ParameterImpl) createTransient();
55             boolean changes = result.disableChanges;
56             result.disableChanges = true;
57             try {
58                 result.setName(name);
59                 result.setFinal(isFinal);
60                 result.setVarArg(isVarArg);
61             } finally {
62                 result.disableChanges = changes;
63             }
64         } else {
65             result = (ParameterImpl) super_createParameter(name, null, isFinal, null, 0, isVarArg);
66         }
67         result.setTypeRef(type);
68         return result;
69     }
70 }
71
Popular Tags