View Javadoc
1   /*
2    *   Licensed to the Apache Software Foundation (ASF) under one
3    *   or more contributor license agreements.  See the NOTICE file
4    *   distributed with this work for additional information
5    *   regarding copyright ownership.  The ASF licenses this file
6    *   to you under the Apache License, Version 2.0 (the
7    *   "License"); you may not use this file except in compliance
8    *   with the License.  You may obtain a copy of the License at
9    *
10   *     http://www.apache.org/licenses/LICENSE-2.0
11   *
12   *   Unless required by applicable law or agreed to in writing,
13   *   software distributed under the License is distributed on an
14   *   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15   *   KIND, either express or implied.  See the License for the
16   *   specific language governing permissions and limitations
17   *   under the License.
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.Grammar;
25  import org.apache.directory.api.asn1.ber.grammar.States;
26  
27  
28  /**
29   * This class store the VirtualListViewRequest grammar constants. It is also used for
30   * debugging purposes.
31   *
32   * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
33   */
34  public enum VirtualListViewRequestStates implements States
35  {
36      START_STATE,
37      VLV_SEQUENCE_STATE,
38      VLV_BEFORE_COUNT_STATE,
39      VLV_AFTER_COUNT_STATE,
40      VLV_TARGET_BY_OFFSET_STATE,
41      VLV_OFFSET_STATE,
42      VLV_CONTENT_COUNT_STATE,
43      VLV_CONTEXT_ID_STATE,
44      VLV_ASSERTION_VALUE_STATE,
45      END_STATE;
46  
47      public String getGrammarName( int grammar )
48      {
49          return "VLV_REQUEST_GRAMMAR";
50      }
51  
52  
53      public String getGrammarName( Grammar<?> grammar )
54      {
55          if ( grammar instanceof VirtualListViewRequestGrammar )
56          {
57              return "VLV_REQUEST_GRAMMAR";
58          }
59  
60          return "UNKNOWN GRAMMAR";
61      }
62  
63  
64      public String getState( int state )
65      {
66          return ( ( state == END_STATE.ordinal() ) ? "VLV_REQUEST_END_STATE" : name() );
67      }
68  
69  
70      @Override
71      public boolean isEndState()
72      {
73          return this == END_STATE;
74      }
75  
76  
77      @Override
78      public Enum<?> getStartState()
79      {
80          return START_STATE;
81      }
82  }