001/* 002 * Licensed to the Apache Software Foundation (ASF) under one 003 * or more contributor license agreements. See the NOTICE file 004 * distributed with this work for additional information 005 * regarding copyright ownership. The ASF licenses this file 006 * to you under the Apache License, Version 2.0 (the 007 * "License"); you may not use this file except in compliance 008 * with the License. You may obtain a copy of the License at 009 * 010 * http://www.apache.org/licenses/LICENSE-2.0 011 * 012 * Unless required by applicable law or agreed to in writing, 013 * software distributed under the License is distributed on an 014 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 015 * KIND, either express or implied. See the License for the 016 * specific language governing permissions and limitations 017 * under the License. 018 * 019 */ 020package org.apache.directory.server.annotations; 021 022 023import java.lang.annotation.Documented; 024import java.lang.annotation.ElementType; 025import java.lang.annotation.Inherited; 026import java.lang.annotation.Retention; 027import java.lang.annotation.RetentionPolicy; 028import java.lang.annotation.Target; 029 030 031/** 032 * A annotation used to specify an sequence of LDIF's to be applied to 033 * the instance for integration testing. 034 * 035 * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a> 036 */ 037@Documented 038@Inherited 039@Retention(RetentionPolicy.RUNTIME) 040@Target( 041 { ElementType.METHOD, ElementType.TYPE }) 042public @interface CreateTransport 043{ 044 /** @return The name for this protocol*/ 045 String protocol(); 046 047 048 /** @return The transport type (TCP or UDP) Default to TCP */ 049 TransportType type() default TransportType.TCP; 050 051 052 /** @return The port to use, default to a bad value so that we know 053 * we have to pick one random available port */ 054 int port() default -1; 055 056 057 /** @return The InetAddress for this transport. */ 058 String address() default ""; 059 060 061 /** @return The backlog. Default to 50 */ 062 int backlog() default 50; 063 064 065 /** @return A flag to tell if the transport is SSL based. Default to false */ 066 boolean ssl() default false; 067 068 069 /** @return The number of threads to use. Default to 3*/ 070 int nbThreads() default 3; 071 072 /** @return A flag to tell if the transport should ask for client certificate. Default to false */ 073 boolean clientAuth() default false; 074}