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