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;
21
22
23 import java.nio.ByteBuffer;
24
25 import org.apache.directory.api.asn1.Asn1Object;
26 import org.apache.directory.api.asn1.DecoderException;
27 import org.apache.directory.api.asn1.EncoderException;
28 import org.apache.directory.api.i18n.I18n;
29 import org.apache.directory.api.ldap.codec.api.ControlDecorator;
30 import org.apache.directory.api.ldap.codec.api.LdapApiService;
31 import org.apache.directory.api.ldap.model.message.Control;
32
33
34
35
36
37
38
39
40
41
42
43 public class BasicControlDecorator extends ControlDecorator<Control>
44 {
45
46
47
48
49
50
51
52 public BasicControlDecorator( LdapApiService codec, Control control )
53 {
54 super( codec, control );
55 }
56
57
58
59
60
61 @Override
62 public Asn1Object decode( byte[] controlBytes ) throws DecoderException
63 {
64 return null;
65 }
66
67
68
69
70
71 @Override
72 public int computeLength()
73 {
74
75 if ( getValue() == null )
76 {
77 valueLength = 0;
78 }
79 else
80 {
81 valueLength = getValue().length;
82 }
83
84 return valueLength;
85 }
86
87
88
89
90
91 @Override
92 public ByteBuffer encode( ByteBuffer buffer ) throws EncoderException
93 {
94 if ( buffer == null )
95 {
96 throw new EncoderException( I18n.err( I18n.ERR_08000_CANNOT_PUT_A_PDU_IN_NULL_BUFFER ) );
97 }
98
99 if ( valueLength != 0 )
100 {
101 buffer.put( getValue() );
102 }
103
104 return buffer;
105 }
106 }