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
51 public SortRequestContainer( LdapApiService codec )
52 {
53 super();
54 this.codec = codec;
55 setGrammar( SortRequestGrammar.getInstance() );
56 setTransition( SortRequestStates.START_STATE );
57 }
58
59
60
61
62
63
64
65
66 public SortRequestContainer( LdapApiService codec, SortRequest control )
67 {
68 this( codec );
69 decorate( control );
70 }
71
72
73
74
75
76
77
78 public void decorate( SortRequest control )
79 {
80 if ( control instanceof SortRequestDecorator )
81 {
82 this.control = ( SortRequestDecorator ) control;
83 }
84 else
85 {
86 this.control = new SortRequestDecorator( codec, control );
87 }
88 }
89
90
91
92
93
94 public SortRequestDecorator getControl()
95 {
96 return control;
97 }
98
99
100
101
102
103 public void setControl( SortRequestDecorator control )
104 {
105 this.control = control;
106 }
107
108
109
110
111
112 @Override
113 public void clean()
114 {
115 super.clean();
116 control = null;
117 }
118
119
120
121
122
123 public SortKey getCurrentKey()
124 {
125 return currentKey;
126 }
127
128
129
130
131
132 public void setCurrentKey( SortKey currentKey )
133 {
134 this.currentKey = currentKey;
135 }
136
137 }