/* * JBoss, Home of Professional Open Source. * Copyright 2012, Red Hat, Inc., and individual contributors * as indicated by the @author tags. See the copyright.txt file in the * distribution for a full listing of individual contributors. * * This is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation; either version 2.1 of * the License, or (at your option) any later version. * * This software is distributed in the hope that it will be useful, * but WITHOUT ANY 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 along with this software; if not, write to the Free * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA, or see the FSF site: http://www.fsf.org. */ package org.jboss.as.test.integration.security.common; import javax.enterprise.util.AnnotationLiteral; import org.apache.directory.server.annotations.CreateTransport; import org.apache.directory.server.annotations.TransportType; /** * A helper implementation of {@link CreateTransport} annotation which allows to configure values. * * @author Josef Cacek */ public class ManagedCreateTransport extends AnnotationLiteral<CreateTransport> implements CreateTransport { private static final long serialVersionUID = 1L; /** The name for this protocol */ private String protocol; /** The transport type (TCP or UDP) Default to TCP */ private TransportType type; /** The port to use, default to a bad value so that we know we have to pick one random available port */ private int port; /** The InetAddress for this transport. Default to localhost */ private String address; /** The backlog. Default to 50 */ private int backlog; /** A flag to tell if the transport is SSL based. Default to false */ private boolean ssl; /** The number of threads to use. Default to 3 */ private int nbThreads; // Constructors ---------------------------------------------------------- /** * Create a new ManagedCreateTransport. * * @param createLdapServer */ public ManagedCreateTransport(final CreateTransport original) { protocol = original.protocol(); type = original.type(); port = original.port(); address = original.address(); backlog = original.backlog(); ssl = original.ssl(); nbThreads = original.nbThreads(); } // Public methods -------------------------------------------------------- /** * * @return * @see org.apache.directory.server.annotations.CreateTransport#protocol() */ public String protocol() { return protocol; } /** * * @return * @see org.apache.directory.server.annotations.CreateTransport#type() */ public TransportType type() { return type; } /** * * @return * @see org.apache.directory.server.annotations.CreateTransport#port() */ public int port() { return port; } /** * * @return * @see org.apache.directory.server.annotations.CreateTransport#address() */ public String address() { return address; } /** * * @return * @see org.apache.directory.server.annotations.CreateTransport#backlog() */ public int backlog() { return backlog; } /** * * @return * @see org.apache.directory.server.annotations.CreateTransport#ssl() */ public boolean ssl() { return ssl; } /** * * @return * @see org.apache.directory.server.annotations.CreateTransport#nbThreads() */ public int nbThreads() { return nbThreads; } /** * Set the protocol. * * @param protocol The protocol to set. */ public void setProtocol(String protocol) { this.protocol = protocol; } /** * Set the type. * * @param type The type to set. */ public void setType(TransportType type) { this.type = type; } /** * Set the port. * * @param port The port to set. */ public void setPort(int port) { this.port = port; } /** * Set the address. * * @param address The address to set. */ public void setAddress(String address) { this.address = address; } /** * Set the backlog. * * @param backlog The backlog to set. */ public void setBacklog(int backlog) { this.backlog = backlog; } /** * Set the ssl. * * @param ssl The ssl to set. */ public void setSsl(boolean ssl) { this.ssl = ssl; } /** * Set the nbThreads. * * @param nbThreads The nbThreads to set. */ public void setNbThreads(int nbThreads) { this.nbThreads = nbThreads; } }