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.codec.decorators;
21
22
23 import java.nio.BufferOverflowException;
24 import java.nio.ByteBuffer;
25
26 import org.apache.directory.api.asn1.EncoderException;
27 import org.apache.directory.api.asn1.ber.tlv.BerValue;
28 import org.apache.directory.api.i18n.I18n;
29 import org.apache.directory.api.ldap.codec.api.LdapApiService;
30 import org.apache.directory.api.ldap.codec.api.LdapCodecConstants;
31 import org.apache.directory.api.ldap.model.message.AbandonRequest;
32 import org.apache.directory.api.ldap.model.message.Control;
33
34
35
36
37
38
39
40 public final class AbandonRequestDecorator extends RequestDecorator<AbandonRequest> implements AbandonRequest
41 {
42
43
44
45
46
47
48 public AbandonRequestDecorator( LdapApiService codec, AbandonRequest decoratedMessage )
49 {
50 super( codec, decoratedMessage );
51 }
52
53
54
55
56
57
58
59
60
61 @Override
62 public int getAbandoned()
63 {
64 return getDecorated().getAbandoned();
65 }
66
67
68
69
70
71 @Override
72 public AbandonRequest setAbandoned( int requestId )
73 {
74 getDecorated().setAbandoned( requestId );
75
76 return this;
77 }
78
79
80
81
82
83 @Override
84 public AbandonRequest setMessageId( int messageId )
85 {
86 super.setMessageId( messageId );
87
88 return this;
89 }
90
91
92
93
94
95 @Override
96 public AbandonRequest addControl( Control control )
97 {
98 return ( AbandonRequest ) super.addControl( control );
99 }
100
101
102
103
104
105 @Override
106 public AbandonRequest addAllControls( Control[] controls )
107 {
108 return ( AbandonRequest ) super.addAllControls( controls );
109 }
110
111
112
113
114
115 @Override
116 public AbandonRequest removeControl( Control control )
117 {
118 return ( AbandonRequest ) super.removeControl( control );
119 }
120
121
122
123
124
125
126
127
128
129 @Override
130 public ByteBuffer encode( ByteBuffer buffer ) throws EncoderException
131 {
132 try
133 {
134
135 buffer.put( LdapCodecConstants.ABANDON_REQUEST_TAG );
136
137
138
139 buffer.put( ( byte ) BerValue.getNbBytes( getAbandoned() ) );
140
141
142 buffer.put( BerValue.getBytes( getAbandoned() ) );
143 }
144 catch ( BufferOverflowException boe )
145 {
146 String msg = I18n.err( I18n.ERR_04005 );
147 throw new EncoderException( msg, boe );
148 }
149
150 return buffer;
151 }
152
153
154
155
156
157
158
159
160
161
162
163
164 @Override
165 public int computeLength()
166 {
167 return 1 + 1 + BerValue.getNbBytes( getAbandoned() );
168 }
169 }