1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.apache.directory.api.ldap.extras.controls.vlv_impl;
22
23
24 import org.apache.directory.api.asn1.ber.AbstractContainer;
25 import org.apache.directory.api.ldap.codec.api.LdapApiService;
26 import org.apache.directory.api.ldap.extras.controls.vlv.VirtualListViewRequest;
27
28
29
30
31
32
33
34 public class VirtualListViewRequestContainer extends AbstractContainer
35 {
36 private VirtualListViewRequestDecorator control;
37
38 private LdapApiService codec;
39
40
41
42
43
44
45
46 public VirtualListViewRequestContainer( LdapApiService codec )
47 {
48 super();
49 this.codec = codec;
50 setGrammar( VirtualListViewRequestGrammar.getInstance() );
51 setTransition( VirtualListViewRequestStates.START_STATE );
52 }
53
54
55
56
57
58
59
60
61 public VirtualListViewRequestContainer( VirtualListViewRequestDecorator control, LdapApiService codec )
62 {
63 this( codec );
64 decorate( control );
65 }
66
67
68
69
70
71 public VirtualListViewRequestDecorator getDecorator()
72 {
73 return control;
74 }
75
76
77
78
79
80
81
82 public void decorate( VirtualListViewRequest control )
83 {
84 if ( control instanceof VirtualListViewRequestDecorator )
85 {
86 this.control = ( VirtualListViewRequestDecorator ) control;
87 }
88 else
89 {
90 this.control = new VirtualListViewRequestDecorator( codec, control );
91 }
92 }
93
94
95
96
97
98
99
100 public void setVirtualListViewRequestControl( VirtualListViewRequestDecorator control )
101 {
102 this.control = control;
103 }
104
105
106
107
108
109 @Override
110 public void clean()
111 {
112 super.clean();
113 control = null;
114 }
115 }