KickJava   Java API By Example, From Geeks To Geeks.

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


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 java.util.List JavaDoc;
22 import org.netbeans.jmi.javamodel.JavaModelPackage;
23 import org.openide.ErrorManager;
24 import org.netbeans.jmi.javamodel.AnnotationClass;
25 import org.netbeans.jmi.javamodel.Annotation;
26 import org.netbeans.jmi.javamodel.MultipartId;
27 import org.netbeans.mdr.persistence.StorageException;
28 import org.netbeans.mdr.storagemodel.StorableClass;
29
30 /**
31  * @author Pavel Flaska
32  */

33 public abstract class AnnotationClassImpl extends SemiPersistentClass implements AnnotationClass {
34
35     protected AnnotationClassImpl(StorableClass s) {
36         super(s);
37     }
38
39     public Annotation createAnnotation() {
40         return createAnn(null, null);
41    }
42
43     public Annotation createAnnotation(MultipartId type, List JavaDoc attributeValues) {
44         return createAnn(type, attributeValues);
45     }
46     
47     private AnnotationImpl createAnn(MultipartId type, List JavaDoc attributeValues) {
48         AnnotationImpl result = create(false);
49         result.setNew();
50         result.setData(type, attributeValues);
51         return result;
52     }
53         
54     AnnotationImpl create(boolean isTransient) {
55         AnnotationImpl result;
56         if (isTransient) {
57             result = (AnnotationImpl) createTransient();
58         } else {
59             result = (AnnotationImpl) super_createAnnotation();
60         }
61         return result;
62     }
63     
64     protected abstract Annotation super_createAnnotation();
65 }
66
Popular Tags