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
45
46
47
48
49 public GracefulDisconnectFactory( LdapApiService codec )
50 {
51 this.codec = codec;
52 }
53
54
55
56
57
58 @Override
59 public ExtendedRequestDecorator<ExtendedRequest> decorate(
60 ExtendedRequest modelRequest )
61 {
62
63 return null;
64 }
65
66
67
68
69
70 @Override
71 public ExtendedResponse decorate( ExtendedResponse decoratedMessage )
72 {
73 if ( decoratedMessage instanceof GracefulDisconnectResponseDecorator )
74 {
75 return decoratedMessage;
76 }
77
78 return new GracefulDisconnectResponseDecorator( codec, ( GracefulDisconnectResponse ) decoratedMessage );
79 }
80
81
82
83
84
85 @Override
86 public String getOid()
87 {
88 return GracefulDisconnectResponse.EXTENSION_OID;
89 }
90
91
92
93
94
95 @Override
96 public ExtendedRequest newRequest( byte[] value )
97 {
98
99 return null;
100 }
101
102
103
104
105
106 @Override
107 public GracefulDisconnectResponse newResponse( byte[] encodedValue ) throws DecoderException
108 {
109 GracefulDisconnectResponseDecorator req = new GracefulDisconnectResponseDecorator( codec,
110 new GracefulDisconnectResponseImpl() );
111 req.setResponseValue( encodedValue );
112
113 return req;
114 }
115 }