2
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
4
* Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
6
* The contents of this file are subject to the terms of either the GNU
7
* General Public License Version 2 only ("GPL") or the Common
8
* Development and Distribution License("CDDL") (collectively, the
9
* "License"). You may not use this file except in compliance with the
10
* License. You can obtain a copy of the License at
11
* http://www.netbeans.org/cddl-gplv2.html
12
* or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
13
* specific language governing permissions and limitations under the
14
* License. When distributing the software, include this License Header
15
* Notice in each file and include the License file at
16
* nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
17
* particular file as subject to the "Classpath" exception as provided
18
* by Sun in the GPL Version 2 section of the License file that
19
* accompanied this code. If applicable, add the following below the
20
* License Header, with the fields enclosed by brackets [] replaced by
21
* your own identifying information:
22
* "Portions Copyrighted [year] [name of copyright owner]"
26
* The Original Software is NetBeans. The Initial Developer of the Original
27
* Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
28
* Microsystems, Inc. All Rights Reserved.
30
* If you wish your version of this file to be governed by only the CDDL
31
* or only the GPL Version 2, indicate your decision by adding
32
* "[Contributor] elects to include this software in this distribution
33
* under the [CDDL or GPL Version 2] license." If you do not indicate a
34
* single choice of license, a recipient has the option to distribute
35
* your version of this file under either the CDDL, the GPL Version 2 or
36
* to extend the choice of license to its licensees as provided above.
37
* However, if you add GPL Version 2 code and therefore, elected the GPL
38
* Version 2 license, then the option applies only if the new code is
39
* made subject to such option by the copyright holder.
42
package org.netbeans.modules.j2ee.persistenceapi.metadata.orm.annotation;
44
import java.util.List;
45
import javax.lang.model.element.AnnotationValue;
46
import javax.lang.model.element.Name;
47
import javax.lang.model.element.VariableElement;
48
import org.netbeans.modules.j2ee.persistence.api.metadata.orm.*;
50
public class CascadeTypeImpl implements CascadeType {
52
// XXX CascadeType and this impl should be replaced with something simpler
54
private final EmptyType all, persist, merge, remove, refresh;
56
public CascadeTypeImpl() {
64
public CascadeTypeImpl(List<AnnotationValue> cascadeValues) {
65
EmptyType tempAll = null, tempPersist = null, tempMerge = null, tempRemove = null, tempRefresh = null;
66
for (AnnotationValue value : cascadeValues) {
67
Name valueName = ((VariableElement)value.getValue()).getSimpleName();
68
if (valueName.contentEquals("ALL")) { // NOI18N
69
tempAll = new EmptyTypeImpl();
70
} else if (valueName.contentEquals("PERSIST")) { // NOI18N
71
tempPersist = new EmptyTypeImpl();
72
} else if (valueName.contentEquals("MERGE")) { // NOI18N
73
tempMerge = new EmptyTypeImpl();
74
} else if (valueName.contentEquals("REMOVE")) { // NOI18N
75
tempRemove = new EmptyTypeImpl();
76
} else if (valueName.contentEquals("REFRESH")) { // NOI18N
77
tempRefresh = new EmptyTypeImpl();
81
persist = tempPersist;
84
refresh = tempRefresh;
87
public void setCascadeAll(EmptyType value) {
88
throw new UnsupportedOperationException("This operation is not implemented yet."); // NOI18N
91
public EmptyType getCascadeAll() {
95
public EmptyType newEmptyType() {
96
throw new UnsupportedOperationException("This operation is not implemented yet."); // NOI18N
99
public void setCascadePersist(EmptyType value) {
100
throw new UnsupportedOperationException("This operation is not implemented yet."); // NOI18N
103
public EmptyType getCascadePersist() {
107
public void setCascadeMerge(EmptyType value) {
108
throw new UnsupportedOperationException("This operation is not implemented yet."); // NOI18N
111
public EmptyType getCascadeMerge() {
115
public void setCascadeRemove(EmptyType value) {
116
throw new UnsupportedOperationException("This operation is not implemented yet."); // NOI18N
119
public EmptyType getCascadeRemove() {
123
public void setCascadeRefresh(EmptyType value) {
124
throw new UnsupportedOperationException("This operation is not implemented yet."); // NOI18N
127
public EmptyType getCascadeRefresh() {