Thu, 12 Oct 2017 19:44:07 +0800
merge
1 /*
2 * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
26 package com.sun.xml.internal.ws.policy.sourcemodel.wspolicy;
28 /**
29 *
30 * @author Marek Potociar (marek.potociar at sun.com)
31 */
32 public enum XmlToken {
33 Policy("Policy", true),
34 ExactlyOne("ExactlyOne", true),
35 All("All", true),
36 PolicyReference("PolicyReference", true),
37 UsingPolicy("UsingPolicy", true),
38 Name("Name", false),
39 Optional("Optional", false),
40 Ignorable("Ignorable", false),
41 PolicyUris("PolicyURIs", false),
42 Uri("URI", false),
43 Digest("Digest", false),
44 DigestAlgorithm("DigestAlgorithm", false),
46 UNKNOWN("", true);
50 /**
51 * Resolves URI represented as a String into an enumeration value. If the URI
52 * doesn't represent any existing enumeration value, method returns {@code null}
53 *
54 * @param uri
55 * @return Enumeration value that represents given URI or {@code null} if
56 * no enumeration value exists for given URI.
57 */
58 public static XmlToken resolveToken(String name) {
59 for (XmlToken token : XmlToken.values()) {
60 if (token.toString().equals(name)) {
61 return token;
62 }
63 }
65 return UNKNOWN;
66 }
68 private String tokenName;
69 private boolean element;
71 private XmlToken(final String name, boolean element) {
72 this.tokenName = name;
73 this.element = element;
74 }
76 public boolean isElement() {
77 return element;
78 }
80 @Override
81 public String toString() {
82 return tokenName;
83 }
84 }