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.controls.sort;
21
22
23 import org.apache.directory.api.asn1.ber.AbstractContainer;
24 import org.apache.directory.api.ldap.codec.api.LdapApiService;
25 import org.apache.directory.api.ldap.model.message.controls.SortKey;
26 import org.apache.directory.api.ldap.model.message.controls.SortRequest;
27
28
29
30
31
32
33
34 public class SortRequestContainer extends AbstractContainer
35 {
36
37 private SortRequestDecorator control;
38
39
40 private LdapApiService codec;
41
42
43 private SortKey currentKey;
44
45
46
47
48
49
50 public SortRequestContainer( LdapApiService codec )
51 {
52 super();
53 this.codec = codec;
54 grammar = SortRequestGrammar.getInstance();
55 setTransition( SortRequestStates.START_STATE );
56 }
57
58
59
60
61
62
63
64
65 public SortRequestContainer( LdapApiService codec, SortRequest control )
66 {
67 this( codec );
68 decorate( control );
69 }
70
71
72
73
74
75 public void decorate( SortRequest control )
76 {
77 if ( control instanceof SortRequestDecorator )
78 {
79 this.control = ( SortRequestDecorator ) control;
80 }
81 else
82 {
83 this.control = new SortRequestDecorator( codec, control );
84 }
85 }
86
87
88
89
90
91 public SortRequestDecorator getControl()
92 {
93 return control;
94 }
95
96
97
98
99
100 public void setControl( SortRequestDecorator control )
101 {
102 this.control = control;
103 }
104
105
106
107
108
109 public void clean()
110 {
111 super.clean();
112 control = null;
113 }
114
115
116
117
118
119 public SortKey getCurrentKey()
120 {
121 return currentKey;
122 }
123
124
125
126
127
128 public void setCurrentKey( SortKey currentKey )
129 {
130 this.currentKey = currentKey;
131 }
132
133 }