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 public final class VirtualListViewRequestGrammar extends AbstractGrammar<VirtualListViewRequestContainer>
38 {
39 static final Logger LOG = LoggerFactory.getLogger( VirtualListViewRequestGrammar.class );
40
41 private static Grammar<?> instance = new VirtualListViewRequestGrammar();
42
43
44 @SuppressWarnings("unchecked")
45 private VirtualListViewRequestGrammar()
46 {
47 setName( VirtualListViewRequestGrammar.class.getName() );
48
49 super.transitions = new GrammarTransition[VirtualListViewRequestStates.END_STATE.ordinal()][256];
50
51 super.transitions[VirtualListViewRequestStates.START_STATE.ordinal()][UniversalTag.SEQUENCE.getValue()] =
52 new GrammarTransition<VirtualListViewRequestContainer>(
53 VirtualListViewRequestStates.START_STATE,
54 VirtualListViewRequestStates.VLV_SEQUENCE_STATE,
55 UniversalTag.SEQUENCE.getValue(),
56 null );
57
58 super.transitions[VirtualListViewRequestStates.VLV_SEQUENCE_STATE.ordinal()][UniversalTag.INTEGER.getValue()] =
59 new GrammarTransition<VirtualListViewRequestContainer>(
60 VirtualListViewRequestStates.VLV_SEQUENCE_STATE,
61 VirtualListViewRequestStates.VLV_BEFORE_COUNT_STATE,
62 UniversalTag.INTEGER.getValue(),
63 new StoreBeforeCount() );
64
65 super.transitions[VirtualListViewRequestStates.VLV_BEFORE_COUNT_STATE.ordinal()][UniversalTag.INTEGER
66 .getValue()] =
67 new GrammarTransition<VirtualListViewRequestContainer>(
68 VirtualListViewRequestStates.VLV_BEFORE_COUNT_STATE,
69 VirtualListViewRequestStates.VLV_AFTER_COUNT_STATE,
70 UniversalTag.INTEGER.getValue(),
71 new StoreAfterCount() );
72
73 super.transitions[VirtualListViewRequestStates.VLV_AFTER_COUNT_STATE.ordinal()][VirtualListViewerTags.BY_OFFSET_TAG
74 .getValue()] =
75 new GrammarTransition<VirtualListViewRequestContainer>(
76 VirtualListViewRequestStates.VLV_AFTER_COUNT_STATE,
77 VirtualListViewRequestStates.VLV_TARGET_BY_OFFSET_STATE,
78 ( byte ) VirtualListViewerTags.BY_OFFSET_TAG.getValue(),
79 null );
80
81 super.transitions[VirtualListViewRequestStates.VLV_AFTER_COUNT_STATE.ordinal()][VirtualListViewerTags.ASSERTION_VALUE_TAG
82 .getValue()] =
83 new GrammarTransition<VirtualListViewRequestContainer>(
84 VirtualListViewRequestStates.VLV_AFTER_COUNT_STATE,
85 VirtualListViewRequestStates.VLV_ASSERTION_VALUE_STATE,
86 ( byte ) VirtualListViewerTags.ASSERTION_VALUE_TAG.getValue(),
87 new StoreAssertionValue() );
88
89 super.transitions[VirtualListViewRequestStates.VLV_TARGET_BY_OFFSET_STATE.ordinal()][UniversalTag.INTEGER
90 .getValue()] =
91 new GrammarTransition<VirtualListViewRequestContainer>(
92 VirtualListViewRequestStates.VLV_TARGET_BY_OFFSET_STATE,
93 VirtualListViewRequestStates.VLV_OFFSET_STATE,
94 UniversalTag.INTEGER.getValue(),
95 new StoreOffset() );
96
97 super.transitions[VirtualListViewRequestStates.VLV_OFFSET_STATE.ordinal()][UniversalTag.INTEGER.getValue()] =
98 new GrammarTransition<VirtualListViewRequestContainer>(
99 VirtualListViewRequestStates.VLV_OFFSET_STATE,
100 VirtualListViewRequestStates.VLV_CONTENT_COUNT_STATE,
101 UniversalTag.INTEGER.getValue(),
102 new StoreContentCount() );
103
104 super.transitions[VirtualListViewRequestStates.VLV_CONTENT_COUNT_STATE.ordinal()][UniversalTag.OCTET_STRING
105 .getValue()] =
106 new GrammarTransition<VirtualListViewRequestContainer>(
107 VirtualListViewRequestStates.VLV_CONTENT_COUNT_STATE,
108 VirtualListViewRequestStates.VLV_CONTEXT_ID_STATE,
109 UniversalTag.OCTET_STRING.getValue(),
110 new StoreContextId() );
111
112 super.transitions[VirtualListViewRequestStates.VLV_ASSERTION_VALUE_STATE.ordinal()][UniversalTag.OCTET_STRING
113 .getValue()] =
114 new GrammarTransition<VirtualListViewRequestContainer>(
115 VirtualListViewRequestStates.VLV_ASSERTION_VALUE_STATE,
116 VirtualListViewRequestStates.VLV_CONTEXT_ID_STATE,
117 UniversalTag.OCTET_STRING.getValue(),
118 new StoreContextId() );
119 }
120
121
122
123
124
125 public static Grammar<?> getInstance()
126 {
127 return instance;
128 }
129 }