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.VirtualListViewResponse;
27
28
29
30
31
32
33
34 public class VirtualListViewResponseContainer extends AbstractContainer
35 {
36 private VirtualListViewResponseDecorator control;
37
38 private LdapApiService codec;
39
40
41 public VirtualListViewResponseContainer( LdapApiService codec )
42 {
43 super();
44 this.codec = codec;
45 grammar = VirtualListViewResponseGrammar.getInstance();
46 setTransition( VirtualListViewResponseStates.START_STATE );
47 }
48
49
50 public VirtualListViewResponseContainer( VirtualListViewResponseDecorator control, LdapApiService codec )
51 {
52 this( codec );
53 decorate( control );
54 }
55
56
57 public VirtualListViewResponseDecorator getDecorator()
58 {
59 return control;
60 }
61
62
63 public void decorate( VirtualListViewResponse control )
64 {
65 if ( control instanceof VirtualListViewResponseDecorator )
66 {
67 this.control = ( VirtualListViewResponseDecorator ) control;
68 }
69 else
70 {
71 this.control = new VirtualListViewResponseDecorator( codec, control );
72 }
73 }
74
75
76 public void setVirtualListViewResponseControl( VirtualListViewResponseDecorator control )
77 {
78 this.control = control;
79 }
80
81
82 public void clean()
83 {
84 super.clean();
85 control = null;
86 }
87 }