01: /*
02: * The contents of this file are subject to the terms of the Common Development
03: * and Distribution License (the License). You may not use this file except in
04: * compliance with the License.
05: *
06: * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
07: * or http://www.netbeans.org/cddl.txt.
08: *
09: * 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: /**
21: *
22: */package org.netbeans.modules.bpel.model.api.support;
23:
24: /**
25: * @author ads
26: */
27: public enum Pattern implements EnumValue {
28: REQUEST("request"), RESPONSE("response"), // NOI18N
29: REQUEST_RESPONSE("request-response"), NOT_SPECIFIED("---"), // NOI18N
30: INVALID();
31:
32: Pattern(String value) {
33: myValue = value;
34: }
35:
36: Pattern() {
37: }
38:
39: /*
40: * (non-Javadoc)
41: *
42: * @see java.lang.Object#toString()
43: */
44: /** {@inheritDoc} */
45: public String toString() {
46: return "" + myValue;
47: }
48:
49: /* (non-Javadoc)
50: * @see org.netbeans.modules.bpel.model.api.support.EnumValue#isInvalid()
51: */
52: /** {@inheritDoc} */
53: public boolean isInvalid() {
54: return equals(INVALID);
55: }
56:
57: /**
58: * Returns enumeration via its string representation.
59: *
60: * @param str
61: * string that represent enumeration.
62: * @return enumeration.
63: */
64: public static Pattern forString(String str) {
65: if (str == null) {
66: return null;
67: }
68: Pattern[] values = Pattern.values();
69: for (Pattern pattern : values) {
70: if (pattern.toString().equals(str)) {
71: return pattern;
72: }
73: }
74: return INVALID;
75: }
76:
77: public static boolean isRequestApplicable(Pattern pattern) {
78: return REQUEST.equals(pattern)
79: || REQUEST_RESPONSE.equals(pattern);
80: }
81:
82: public static boolean isResponseApplicable(Pattern pattern) {
83: return RESPONSE.equals(pattern)
84: || REQUEST_RESPONSE.equals(pattern);
85: }
86:
87: private String myValue;
88: }
|