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: package org.netbeans.modules.xslt.model.enums;
20:
21: /**
22: * @author ads
23: *
24: */
25: public enum Standalone implements EnumValue {
26:
27: YES, NO, OMIT, INVALID;
28:
29: /* (non-Javadoc)
30: * @see org.netbeans.modules.xslt.model.enums.EnumValue#isInvalid()
31: */
32: /** {@inheritDoc} */
33: public boolean isInvalid() {
34: return this == INVALID;
35: }
36:
37: /*
38: * (non-Javadoc)
39: *
40: * @see java.lang.Object#toString()
41: */
42: /** {@inheritDoc} */
43: public String toString() {
44: if (isInvalid()) {
45: return "";
46: } else {
47: return super .toString().toLowerCase();
48: }
49: }
50:
51: /**
52: * Returns enum by its string value.
53: *
54: * @param str
55: * string representation.
56: * @return enum.
57: */
58: public static Standalone forString(String str) {
59: if (str == null) {
60: return null;
61: }
62: Standalone[] values = values();
63: for (Standalone value : values) {
64: if (str.equals(value.toString())) {
65: return value;
66: }
67: }
68: return INVALID;
69: }
70: }
|