API java : ExtendedRequest


javax.naming.ldap
Interface ExtendedRequest

All Superinterfaces:
Serializable
All Known Implementing Classes:
StartTlsRequest

public interface ExtendedRequest
extends Serializable

This interface represents an LDAPv3 extended operation request as defined in RFC 2251.

  1. ExtendedRequest ::= [APPLICATION 23] SEQUENCE {
  2. requestName [0] LDAPOID,
  3. requestValue [1] OCTET STRING OPTIONAL }
It comprises an object identifier string and an optional ASN.1 BER encoded value.

The methods in this class are used by the service provider to construct the bits to send to the LDAP server. Applications typically only deal with the classes that implement this interface, supplying them with any information required for a particular extended operation request. It would then pass such a class as an argument to the LdapContext.extendedOperation() method for performing the LDAPv3 extended operation.

For example, suppose the LDAP server supported a 'get time' extended operation. It would supply GetTimeRequest and GetTimeResponse classes:

  1. public class GetTimeRequest implements ExtendedRequest {
  2. public GetTimeRequest() {... };
  3. public ExtendedResponse createExtendedResponse(String id,
  4. byte[] berValue, int offset, int length)
  5. throws NamingException {
  6. return new GetTimeResponse(id, berValue, offset, length);
  7. }
  8. ...
  9. }
  10. public class GetTimeResponse implements ExtendedResponse {
  11. long time;
  12. public GetTimeResponse(String id, byte[] berValue, int offset,
  13. int length) throws NamingException {
  14. time = ... // decode berValue to get time
  15. }
  16. public java.util.Date getDate() { return new java.util.Date(time) };
  17. public long getTime() { return time };
  18. ...
  19. }
A program would use then these classes as follows:
  1. GetTimeResponse resp =
  2. (GetTimeResponse) ectx.extendedOperation(new GetTimeRequest());
  3. long time = resp.getTime();

Since:
1.3
See Also:
ExtendedResponse, LdapContext.extendedOperation(javax.naming.ldap.ExtendedRequest)

Method Summary
 ExtendedResponse createExtendedResponse(String id, byte[] berValue, int offset, int length)
          Creates the response object that corresponds to this request.
 byte[] getEncodedValue()
          Retrieves the ASN.1 BER encoded value of the LDAP extended operation request.
 String getID()
          Retrieves the object identifier of the request.
 

Method Detail

getID

String getID()
Retrieves the object identifier of the request.

Returns:
The non-null object identifier string representing the LDAP ExtendedRequest.requestName component.

getEncodedValue

byte[] getEncodedValue()
Retrieves the ASN.1 BER encoded value of the LDAP extended operation request. Null is returned if the value is absent. The result is the raw BER bytes including the tag and length of the request value. It does not include the request OID. This method is called by the service provider to get the bits to put into the extended operation to be sent to the LDAP server.

Returns:
A possibly null byte array representing the ASN.1 BER encoded contents of the LDAP ExtendedRequest.requestValue component.
Throws:
IllegalStateException - If the encoded value cannot be retrieved because the request contains insufficient or invalid data/state.

createExtendedResponse

ExtendedResponse createExtendedResponse(String id,
                                        byte[] berValue,
                                        int offset,
                                        int length)
                                        throws NamingException
Creates the response object that corresponds to this request.

After the service provider has sent the extended operation request to the LDAP server, it will receive a response from the server. If the operation failed, the provider will throw a NamingException. If the operation succeeded, the provider will invoke this method using the data that it got back in the response. It is the job of this method to return a class that implements the ExtendedResponse interface that is appropriate for the extended operation request.

For example, a Start TLS extended request class would need to know how to process a Start TLS extended response. It does this by creating a class that implements ExtendedResponse.

Parameters:
id - The possibly null object identifier of the response control.
berValue - The possibly null ASN.1 BER encoded value of the response control. This is the raw BER bytes including the tag and length of the response value. It does not include the response OID.
offset - The starting position in berValue of the bytes to use.
length - The number of bytes in berValue to use.
Returns:
A non-null object.
Throws:
NamingException - if cannot create extended response due to an error.
See Also:
ExtendedResponse

Ces informations proviennent du site de http://java.sun.com

Remarques

Contenu

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 :

Quels sont les motivations de cette démarche?

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.

Réseaux sociaux

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher les interactions avec les réseaux sociaux sur ces pages.

 

Nuage de mots clés

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.

 

Astuce pour imprimer les couleurs des cellules de tableaux : http://www.gaudry.be/ast-rf-450.html
Aucun commentaire pour cette page

© Ce document issu de l′infobrol est enregistré sous le certificat Cyber PrInterDeposit Digital Numbertection. Enregistrement IDDN n° 5329-2804
Document créé le 31/08/06 03:53, dernière modification le Vendredi 17 Juin 2011, 12:12
Source du document imprimé : http://www.gaudry.be/java-api-rf-javax/naming/ldap/ExtendedRequest.html Document affiché 1 fois ce mois de Juin.
St.Gaudry©07.01.02
Outils (masquer)
||
Recherche (afficher)
Recherche :

Utilisateur (masquer)
Apparence (afficher)
Stats (afficher)
15832 documents
452 astuces.
549 niouzes.
3099 definitions.
447 membres.
8115 messages.

Document genere en :
0,78 seconde

Mises à jour :
Mises à jour du site
Citation (masquer)
Rien n'est jamais sans conséquence.

Confucius
 
l'infobrol
Nous sommes le Samedi 02 Juin 2012, 01:48, toutes les heures sont au format GMT+1.00 Heure, heure d'été (+1)