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.grammar.AbstractGrammar;
25 import org.apache.directory.api.asn1.ber.grammar.Grammar;
26 import org.apache.directory.api.asn1.ber.grammar.GrammarTransition;
27 import org.apache.directory.api.asn1.ber.tlv.UniversalTag;
28 import org.slf4j.Logger;
29 import org.slf4j.LoggerFactory;
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54 public final class VirtualListViewRequestGrammar extends AbstractGrammar<VirtualListViewRequestContainer>
55 {
56 static final Logger LOG = LoggerFactory.getLogger( VirtualListViewRequestGrammar.class );
57
58 static final boolean IS_DEBUG = LOG.isDebugEnabled();
59
60 private static Grammar<?> instance = new VirtualListViewRequestGrammar();
61
62
63
64
65
66 @SuppressWarnings("unchecked")
67 private VirtualListViewRequestGrammar()
68 {
69 setName( VirtualListViewRequestGrammar.class.getName() );
70
71 super.transitions = new GrammarTransition[VirtualListViewRequestStates.END_STATE.ordinal()][256];
72
73 super.transitions[VirtualListViewRequestStates.START_STATE.ordinal()][UniversalTag.SEQUENCE.getValue()] =
74 new GrammarTransition<VirtualListViewRequestContainer>(
75 VirtualListViewRequestStates.START_STATE,
76 VirtualListViewRequestStates.VLV_SEQUENCE_STATE,
77 UniversalTag.SEQUENCE.getValue(),
78 null );
79
80 super.transitions[VirtualListViewRequestStates.VLV_SEQUENCE_STATE.ordinal()][UniversalTag.INTEGER.getValue()] =
81 new GrammarTransition<VirtualListViewRequestContainer>(
82 VirtualListViewRequestStates.VLV_SEQUENCE_STATE,
83 VirtualListViewRequestStates.VLV_BEFORE_COUNT_STATE,
84 UniversalTag.INTEGER.getValue(),
85 new StoreBeforeCount() );
86
87 super.transitions[VirtualListViewRequestStates.VLV_BEFORE_COUNT_STATE.ordinal()][UniversalTag.INTEGER
88 .getValue()] =
89 new GrammarTransition<VirtualListViewRequestContainer>(
90 VirtualListViewRequestStates.VLV_BEFORE_COUNT_STATE,
91 VirtualListViewRequestStates.VLV_AFTER_COUNT_STATE,
92 UniversalTag.INTEGER.getValue(),
93 new StoreAfterCount() );
94
95 super.transitions[VirtualListViewRequestStates.VLV_AFTER_COUNT_STATE.ordinal()][VirtualListViewerTags.BY_OFFSET_TAG
96 .getValue()] =
97 new GrammarTransition<VirtualListViewRequestContainer>(
98 VirtualListViewRequestStates.VLV_AFTER_COUNT_STATE,
99 VirtualListViewRequestStates.VLV_TARGET_BY_OFFSET_STATE,
100 ( byte ) VirtualListViewerTags.BY_OFFSET_TAG.getValue(),
101 null );
102
103 super.transitions[VirtualListViewRequestStates.VLV_AFTER_COUNT_STATE.ordinal()][VirtualListViewerTags.ASSERTION_VALUE_TAG
104 .getValue()] =
105 new GrammarTransition<VirtualListViewRequestContainer>(
106 VirtualListViewRequestStates.VLV_AFTER_COUNT_STATE,
107 VirtualListViewRequestStates.VLV_ASSERTION_VALUE_STATE,
108 ( byte ) VirtualListViewerTags.ASSERTION_VALUE_TAG.getValue(),
109 new StoreAssertionValue() );
110
111 super.transitions[VirtualListViewRequestStates.VLV_TARGET_BY_OFFSET_STATE.ordinal()][UniversalTag.INTEGER
112 .getValue()] =
113 new GrammarTransition<VirtualListViewRequestContainer>(
114 VirtualListViewRequestStates.VLV_TARGET_BY_OFFSET_STATE,
115 VirtualListViewRequestStates.VLV_OFFSET_STATE,
116 UniversalTag.INTEGER.getValue(),
117 new StoreOffset() );
118
119 super.transitions[VirtualListViewRequestStates.VLV_OFFSET_STATE.ordinal()][UniversalTag.INTEGER.getValue()] =
120 new GrammarTransition<VirtualListViewRequestContainer>(
121 VirtualListViewRequestStates.VLV_OFFSET_STATE,
122 VirtualListViewRequestStates.VLV_CONTENT_COUNT_STATE,
123 UniversalTag.INTEGER.getValue(),
124 new StoreContentCount() );
125
126 super.transitions[VirtualListViewRequestStates.VLV_CONTENT_COUNT_STATE.ordinal()][UniversalTag.OCTET_STRING
127 .getValue()] =
128 new GrammarTransition<VirtualListViewRequestContainer>(
129 VirtualListViewRequestStates.VLV_CONTENT_COUNT_STATE,
130 VirtualListViewRequestStates.VLV_CONTEXT_ID_STATE,
131 UniversalTag.OCTET_STRING.getValue(),
132 new StoreContextId() );
133
134 super.transitions[VirtualListViewRequestStates.VLV_ASSERTION_VALUE_STATE.ordinal()][UniversalTag.OCTET_STRING
135 .getValue()] =
136 new GrammarTransition<VirtualListViewRequestContainer>(
137 VirtualListViewRequestStates.VLV_ASSERTION_VALUE_STATE,
138 VirtualListViewRequestStates.VLV_CONTEXT_ID_STATE,
139 UniversalTag.OCTET_STRING.getValue(),
140 new StoreContextId() );
141 }
142
143
144
145
146
147 public static Grammar<?> getInstance()
148 {
149 return instance;
150 }
151 }