/* * Copyright 2001-2004 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.axis.constants; import org.apache.axis.Constants; /** * Use enum description * @author Richard Scheuerle */ public class Use extends Enum { /** * See Style.java for a description of the combination * of style and use. */ private static final Type type = new Type(); public static final String ENCODED_STR = "encoded"; public static final String LITERAL_STR = "literal"; public static final Use ENCODED = type.getUse(ENCODED_STR); public static final Use LITERAL = type.getUse(LITERAL_STR); public static final Use DEFAULT = ENCODED; static { type.setDefault(DEFAULT); } private String encoding; public static Use getDefault() { return (Use)type.getDefault(); } public final String getEncoding() { return encoding; } public static final Use getUse(int style) { return type.getUse(style); } public static final Use getUse(String style) { return type.getUse(style); } public static final Use getUse(String style, Use dephault) { return type.getUse(style, dephault); } public static final boolean isValid(String style) { return type.isValid(style); } public static final int size() { return type.size(); } public static final String[] getUses() { return type.getEnumNames(); } private Object readResolve() throws java.io.ObjectStreamException { return type.getUse(value); } public static class Type extends Enum.Type { private Type() { super("style", new Enum[] { new Use(0, ENCODED_STR, Constants.URI_DEFAULT_SOAP_ENC), new Use(1, LITERAL_STR, Constants.URI_LITERAL_ENC), }); } public final Use getUse(int style) { return (Use)this.getEnum(style); } public final Use getUse(String style) { return (Use)this.getEnum(style); } public final Use getUse(String style, Use dephault) { return (Use)this.getEnum(style, dephault); } } private Use(int value, String name, String encoding) { super(type, value, name); this.encoding = encoding; } protected Use() { super(type, DEFAULT.getValue(), DEFAULT.getName()); this.encoding = DEFAULT.getEncoding(); } }