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 */ 020 021package org.apache.directory.api.ldap.model.constants; 022 023 024/** 025 * This class contains all the Ldap specific properties described in the JNDI API. 026 * See http://java.sun.com/j2se/1.5.0/docs/guide/jndi/jndi-ldap-gl.html 027 * Final reference -> class shouldn't be extended 028 * 029 * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a> 030 */ 031public final class JndiPropertyConstants 032{ 033 // Pure JNDI properties 034 /** Batch size of search results returned */ 035 public static final String JNDI_BATCHSIZE = "java.naming.batchsize"; 036 037 /** List of FQCNs of the control factory classes */ 038 public static final String JNDI_FACTORY_CONTROL = "java.naming.factory.control"; 039 040 /** FQCN of the factory creating the InitialContext */ 041 public static final String JNDI_FACTORY_INITIAL = "java.naming.factory.initial"; 042 043 /** List of FQCNs of the Object factory */ 044 public static final String JNDI_FACTORY_OBJECT = "java.naming.factory.object"; 045 046 /** List of FQCNs of the state factory */ 047 public static final String JNDI_FACTORY_STATE = "java.naming.factory.state"; 048 049 /** The Language to use */ 050 public static final String JNDI_LANGUAGE = "java.naming.language"; 051 052 /** The list of URL pointing to a LDAP server */ 053 public static final String JNDI_PROVIDER_URL = "java.naming.provider.url"; 054 055 /** Tells how the referral should be handled */ 056 public static final String JNDI_REFERRAL = "java.naming.referral"; 057 058 /** The Authentication mechanism */ 059 public static final String JNDI_SECURITY_AUTHENTICATION = "java.naming.security.authentication"; 060 061 /** The credentials */ 062 public static final String JNDI_SECURITY_CREDENTIALS = "java.naming.security.credentials"; 063 064 /** The Principal */ 065 public static final String JNDI_SECURITY_PRINCIPAL = "java.naming.security.principal"; 066 067 /** The security protocol to use */ 068 public static final String JNDI_SECURITY_PROTOCOL = "java.naming.security.protocol"; 069 070 // Ldap specific properties 071 /** The list of binary attributes */ 072 public static final String JNDI_LDAP_ATTRIBUTES_BINARY = "java.naming.ldap.attributes.binary"; 073 074 /** The controls to send when connectiong */ 075 public static final String JNDI_LDAP_CONTROL_CONNECT = "java.naming.ldap.control.connect"; 076 077 /** Tells if the old Rdn must be deleted when doing a MODDN */ 078 public static final String JNDI_LDAP_DELETE_RDN = "java.naming.ldap.deleteRDN"; 079 080 /** Tells if and how we dereference aliases */ 081 public static final String JNDI_LDAP_DAP_DEREF_ALIASES = "java.naming.ldap.derefAliases"; 082 083 /** The FQCN of the socket factory to use to connect to the server */ 084 public static final String JNDI_FACTORY_SOCKET = "java.naming.ldap.factory.socket"; 085 086 /** The separator to use when dealing with RefAddr */ 087 public static final String JNDI_LDAP_REF_SEPARATOR = "java.naming.ldap.ref.separator"; 088 089 /** The maximum number of referral to follow in a chain of referrals */ 090 public static final String JNDI_LDAP_REFERRAL_LIMIT = "java.naming.ldap.referral.limit"; 091 092 /** tells that we want the attributeTypes only to be returned */ 093 public static final String JNDI_LDAP_TYPES_ONLY = "java.naming.ldap.typesOnly"; 094 095 /** Specifies the LDAP version to use */ 096 public static final String JNDI_LDAP_VERSION = "java.naming.ldap.version"; 097 098 // SASL properties 099 /** The SASL authorization ID */ 100 public static final String JNDI_SASL_AUTHORIZATION_ID = "java.naming.security.sasl.authorizationId"; 101 102 /** The SASL Realm */ 103 public static final String JNDI_SASL_REALM = "java.naming.security.sasl.realm"; 104 105 /** An instance of CallbackHandler to use when required */ 106 public static final String JNDI_SASL_CALLBACK = "java.naming.security.sasl.callback"; 107 108 /** The SASL Quality Of Protection value */ 109 public static final String JNDI_SASL_QOP = "javax.security.sasl.qop"; 110 111 /** The cipher strength */ 112 public static final String JNDI_SASL_STRENGTH = "javax.security.sasl.strength"; 113 114 /** The maximum size of the receive buffer */ 115 public static final String JNDI_SASL_MAX_BUFFER = "javax.security.sasl.maxbuffer"; 116 117 /** Tells if the the server must authenticate the client */ 118 public static final String JNDI_SASL_AUTHENTICATION = "javax.security.sasl.server.authentication"; 119 120 /** Tells if the server must support forward secrecy */ 121 public static final String JNDI_SASL_POLICY_FORWARD = "javax.security.sasl.policy.forward"; 122 123 /** Tells if the server must require some credentials */ 124 public static final String JNDI_SASL_POLICY_CREDENTIALS = "javax.security.sasl.policy.credentials"; 125 126 /** Tells if the server allow Plain text mechanism */ 127 public static final String JNDI_SASL_POLICY_NO_PLAIN_TEXT = "javax.security.sasl.policy.noplaintext"; 128 129 /** Tells if the SASL mechanism is protected against active attacks */ 130 public static final String JNDI_SASL_POLICY_NO_ACTIVE = "javax.security.sasl.policy.noactive"; 131 132 /** Tells if the SASL mechanism is protected against dictionary attacks */ 133 public static final String JNDI_SASL_POLICY_NO_DICTIONARY = "javax.security.sasl.policy.nodictionary"; 134 135 /** Tells if the SASL mechanism accept or not anonymous connections */ 136 public static final String JNDI_SASL_POLICY_NO_ANONYMOUS = "javax.security.sasl.policy.noanonymous"; 137 138 /** 139 * Ensures no construction of this class, also ensures there is no need for final keyword above 140 * (Implicit super constructor is not visible for default constructor), 141 * but is still self documenting. 142 */ 143 private JndiPropertyConstants() 144 { 145 } 146}