/* * JBoss, Home of Professional Open Source * Copyright 2011-2013 Red Hat Inc. and/or its affiliates and other contributors * as indicated by the @author tags. All rights reserved. * See the copyright.txt in the distribution for a * full listing of individual contributors. * * This copyrighted material is made available to anyone wishing to use, * modify, copy, or redistribute it subject to the terms and conditions * of the GNU Lesser General Public License, v. 2.1. * This program is distributed in the hope that it will be useful, but WITHOUT A * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. * You should have received a copy of the GNU Lesser General Public License, * v.2.1 along with this distribution; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. */ package org.infinispan.server.endpoint.subsystem; import java.util.HashMap; import java.util.Map; import org.jboss.as.controller.AttributeDefinition; /** * Enumerates the attributes used in the Infinispan Endpoint subsystem schema. * * @author Tristan Tarrant * @since 5.3 */ public enum Attribute { // must be first UNKNOWN((String) null), AWAIT_INITIAL_RETRIEVAL(ModelKeys.AWAIT_INITIAL_RETRIEVAL), AUTH_METHOD(ModelKeys.AUTH_METHOD), CONTEXT_PATH(ModelKeys.CONTEXT_PATH), CACHE(ModelKeys.CACHE), CACHE_CONTAINER(ModelKeys.CACHE_CONTAINER), @Deprecated CACHE_SUFFIX(ModelKeys.CACHE_SUFFIX), IGNORED_CACHES(ModelKeys.IGNORED_CACHES), EXTENDED_HEADERS(ModelKeys.EXTENDED_HEADERS), EXTERNAL_HOST(ModelKeys.EXTERNAL_HOST), EXTERNAL_PORT(ModelKeys.EXTERNAL_PORT), IDLE_TIMEOUT(ModelKeys.IDLE_TIMEOUT), MECHANISMS(ModelKeys.MECHANISMS), HOST_NAME(ModelKeys.HOST_NAME), PATH(ModelKeys.PATH), LAZY_RETRIEVAL(ModelKeys.LAZY_RETRIEVAL), LOCK_TIMEOUT(ModelKeys.LOCK_TIMEOUT), REPLICATION_TIMEOUT(ModelKeys.REPLICATION_TIMEOUT), NAME(ModelKeys.NAME), QOP(ModelKeys.QOP), RECEIVE_BUFFER_SIZE(ModelKeys.RECEIVE_BUFFER_SIZE), REQUIRE_SSL_CLIENT_AUTH(ModelKeys.REQUIRE_SSL_CLIENT_AUTH), SEND_BUFFER_SIZE(ModelKeys.SEND_BUFFER_SIZE), SECURITY_DOMAIN(ModelKeys.SECURITY_DOMAIN), SECURITY_MODE(ModelKeys.SECURITY_MODE), SECURITY_REALM(ModelKeys.SECURITY_REALM), SERVER_CONTEXT_NAME(ModelKeys.SERVER_CONTEXT_NAME), SERVER_NAME(ModelKeys.SERVER_NAME), SOCKET_BINDING(ModelKeys.SOCKET_BINDING), REST_SOCKET_BINDING(ModelKeys.REST_SOCKET_BINDING), HOTROD_SOCKET_BINDING(ModelKeys.HOTROD_SOCKET_BINDING), SSL(ModelKeys.SSL), STRENGTH(ModelKeys.STRENGTH), TCP_NODELAY(ModelKeys.TCP_NODELAY), KEEP_ALIVE(ModelKeys.KEEP_ALIVE), UPDATE_TIMEOUT(ModelKeys.UPDATE_TIMEOUT), VALUE(ModelKeys.VALUE), VIRTUAL_HOST(ModelKeys.VIRTUAL_HOST), VIRTUAL_SERVER(ModelKeys.VIRTUAL_SERVER), WORKER_THREADS(ModelKeys.WORKER_THREADS), ; private final String name; private final AttributeDefinition definition; private Attribute(final String name) { this.name = name; this.definition = null; } private Attribute(final AttributeDefinition definition) { this.name = definition.getXmlName(); this.definition = definition; } /** * Get the local name of this element. * * @return the local name */ public String getLocalName() { return name; } public AttributeDefinition getDefinition() { return definition; } private static final Map<String, Attribute> attributes; static { final Map<String, Attribute> map = new HashMap<String, Attribute>(); for (Attribute attribute : values()) { final String name = attribute.getLocalName(); if (name != null) map.put(name, attribute); } attributes = map; } public static Attribute forName(String localName) { final Attribute attribute = attributes.get(localName); return attribute == null ? UNKNOWN : attribute; } }