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.dsmlv2.request;
21
22
23 import java.nio.ByteBuffer;
24
25 import org.apache.directory.api.asn1.EncoderException;
26 import org.apache.directory.api.dsmlv2.DsmlLiterals;
27 import org.apache.directory.api.dsmlv2.ParserUtils;
28 import org.apache.directory.api.ldap.codec.api.LdapApiService;
29 import org.apache.directory.api.ldap.model.message.AbandonListener;
30 import org.apache.directory.api.ldap.model.message.AbandonableRequest;
31 import org.apache.directory.api.ldap.model.message.ResultResponse;
32 import org.apache.directory.api.ldap.model.message.ResultResponseRequest;
33 import org.dom4j.Element;
34
35
36
37
38
39
40
41
42
43
44 public abstract class AbstractResultResponseRequestDsml<E extends ResultResponseRequest, F extends ResultResponse>
45 extends AbstractRequestDsml<E>
46 implements ResultResponseRequest, AbandonableRequest
47 {
48
49
50
51
52
53
54 public AbstractResultResponseRequestDsml( LdapApiService codec, E ldapMessage )
55 {
56 super( codec, ldapMessage );
57 }
58
59
60
61
62
63
64
65
66 @Override
67 public Element toDsml( Element root )
68 {
69 Element element = root.addElement( getRequestName() );
70
71
72 int requestID = getDecorated().getMessageId();
73 if ( requestID > 0 )
74 {
75 element.addAttribute( DsmlLiterals.REQUEST_ID, Integer.toString( requestID ) );
76 }
77
78
79 ParserUtils.addControls( getCodecService(), element, getDecorated().getControls().values(), false );
80
81 return element;
82 }
83
84
85
86
87
88 @Override
89 public int computeLength()
90 {
91 return 0;
92 }
93
94
95
96
97
98 @Override
99 public ByteBuffer encode( ByteBuffer buffer ) throws EncoderException
100 {
101 return null;
102 }
103
104
105
106
107
108 @Override
109 public ResultResponse getResultResponse()
110 {
111 return getDecorated().getResultResponse();
112 }
113
114
115
116
117
118 @Override
119 public void abandon()
120 {
121 ( ( AbandonableRequest ) getDecorated() ).abandon();
122 }
123
124
125
126
127
128 @Override
129 public boolean isAbandoned()
130 {
131 return ( ( AbandonableRequest ) getDecorated() ).isAbandoned();
132 }
133
134
135
136
137
138 @Override
139 public AbandonableRequest addAbandonListener( AbandonListener listener )
140 {
141 ( ( AbandonableRequest ) getDecorated() ).addAbandonListener( listener );
142
143 return this;
144 }
145 }