java.lang.Objectjavax.naming.ldap.ControlFactory
public abstract class ControlFactory
This abstract class represents a factory for creating LDAPv3 controls. LDAPv3 controls are defined in RFC 2251.
When a service provider receives a response control, it uses control factories to return the specific/appropriate control class implementation.
Control| Constructor Summary | |
|---|---|
protected |
ControlFactory()
|
| Method Summary | |
|---|---|
abstract Control |
getControlInstance(Control ctl)
Creates a control using this control factory. |
static Control |
getControlInstance(Control ctl,
Context ctx,
Hashtable<?,?> env)
Creates a control using known control factories. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
protected ControlFactory()
| Method Detail |
|---|
public abstract Control getControlInstance(Control ctl) throws NamingException
The factory is used by the service provider to return controls that it reads from the LDAP protocol as specialized control classes. Without this mechanism, the provider would be returning controls that only contained data in BER encoded format.
Typically, ctl is a "basic" control containing BER encoded data. The factory is used to create a specialized control implementation, usually by decoding the BER encoded data, that provides methods to access that data in a type-safe and friendly manner.
For example, a factory might use the BER encoded data in basic control and return an instance of a VirtualListReplyControl.
If this factory cannot create a control using the argument supplied, it should return null. A factory should only throw an exception if it is sure that it is the only intended factory and that no other control factories should be tried. This might happen, for example, if the BER data in the control does not match what is expected of a control with the given OID. Since this method throws NamingException, any other internally generated exception that should be propagated must be wrapped inside a NamingException.
ctl - A non-null control.
NamingException - If ctl contains invalid data that prevents it
from being used to create a control. A factory should only throw
an exception if it knows how to produce the control (identified by the OID)
but is unable to because of, for example invalid BER data.public static Control getControlInstance(Control ctl, Context ctx, Hashtable<?,?> env) throws NamingException
The following rule is used to create the control:
ctl.
If an exception is encountered while creating the control, the
exception is passed up to the caller.
Note that a control factory must be public and must have a public constructor that accepts no arguments.
ctl - The non-null control object containing the OID and BER data.ctx - The possibly null context in which the control is being created.
If null, no such information is available.env - The possibly null environment of the context. This is used
to find the value of the LdapContext.CONTROL_FACTORIES property.
ctl; or
ctl if a control object cannot be created using
the algorithm described above.
NamingException - if a naming exception was encountered
while attempting to create the control object.
If one of the factories accessed throws an
exception, it is propagated up to the caller.
If an error was encountered while loading
and instantiating the factory and object classes, the exception
is wrapped inside a NamingException and then rethrown.Ces informations proviennent du site de http://java.sun.com
Le contenu de cette page provient du site de Sun, et est généré depuis un cache sur l'infobrol après certains traitements automatisés. La présentation peut donc différer du document original, mais le contenu aussi. Vous pouvez utiliser ce bouton pour afficher la page originale du site de Sun :
Maintenir les pages en cache sur différents sites peut offrir plus de disponibilité.
Chaque page est indexée dans la base de donnée, ce qui permet de retrouver facilement les informations, au moyen des sommaires, du moteur de recherche interne, etc.
Des facilités sont mises en place pour que les membres de l'infobrol puissent effectuer des traductions en français des différents documents. Ceci devrait permettre aux débutants en programmation Java de consulter les API en français s'ils maîtrisent moins bien la langue de Shakespeare. Dans le cas où une traduction a été soumise, elle est disponible au moyen d'un lien en bas de page. Si la traduction a été validée, la page s'affiche par défaut en français, et un lien en bas de page permet d'atteindre la version en anglais.
Le code sur l'infobrol est automatiquement coloré selon la syntaxe, et les différents mots clés sont transformés en liens pour accéder rapidement aux informations.
Vous avez la possibilité de partager vos expériences en proposant vos propres extraits de code en utilisant le bouton "ajouter un commentaire" en bas de page. Si vous visitez simplement l'infobrol, vous avez déjà accès à cette fonction, mais si vous étes membre du brol, vous pouvez en plus utiliser des boutons supplémentaires de mise en forme, dont la coloration automatique de vos extraits de codes.
Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher les interactions avec les réseaux sociaux sur ces pages.
7 mots clés dont 0 définis manuellement (plus d'information...).
Avertissement
Cette page ne possède pas encore de mots clés manuels, ceci est donc un exemple automatique (les niveaux de pertinence sont fictifs, mais les liens sont valables). Pour tester le nuage avec une page qui contient des mots définis manuellement, vous pouvez cliquer ici.Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher le nuage de mots clés.
Recherche (afficher)
Utilisateur (masquer)
Navigation (masquer)
Apparence (afficher)
Stats (afficher)
Citation (masquer)