1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.directory.api.ldap.extras.extended.ads_impl.gracefulDisconnect;
21
22
23 import org.apache.directory.api.asn1.DecoderException;
24 import org.apache.directory.api.ldap.codec.api.ExtendedOperationFactory;
25 import org.apache.directory.api.ldap.codec.api.ExtendedRequestDecorator;
26 import org.apache.directory.api.ldap.codec.api.LdapApiService;
27 import org.apache.directory.api.ldap.extras.extended.gracefulDisconnect.GracefulDisconnectResponse;
28 import org.apache.directory.api.ldap.extras.extended.gracefulDisconnect.GracefulDisconnectResponseImpl;
29 import org.apache.directory.api.ldap.model.message.ExtendedRequest;
30 import org.apache.directory.api.ldap.model.message.ExtendedResponse;
31
32
33
34
35
36
37
38
39 public class GracefulDisconnectFactory implements ExtendedOperationFactory
40 {
41 private LdapApiService codec;
42
43
44 public GracefulDisconnectFactory( LdapApiService codec )
45 {
46 this.codec = codec;
47 }
48
49
50
51
52
53 public ExtendedRequestDecorator<ExtendedRequest> decorate(
54 ExtendedRequest modelRequest )
55 {
56
57 return null;
58 }
59
60
61
62
63
64 public ExtendedResponse decorate( ExtendedResponse decoratedMessage )
65 {
66 if ( decoratedMessage instanceof GracefulDisconnectResponseDecorator )
67 {
68 return decoratedMessage;
69 }
70
71 return new GracefulDisconnectResponseDecorator( codec, ( GracefulDisconnectResponse ) decoratedMessage );
72 }
73
74
75
76
77
78 public String getOid()
79 {
80 return GracefulDisconnectResponse.EXTENSION_OID;
81 }
82
83
84
85
86
87 public ExtendedRequest newRequest( byte[] value )
88 {
89
90 return null;
91 }
92
93
94
95
96
97 public GracefulDisconnectResponse newResponse( byte[] encodedValue ) throws DecoderException
98 {
99 GracefulDisconnectResponseDecorator req = new GracefulDisconnectResponseDecorator( codec,
100 new GracefulDisconnectResponseImpl() );
101 req.setResponseValue( encodedValue );
102
103 return req;
104 }
105 }