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 VirtualListViewResponse 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 VirtualListViewResponseStates implements States
35  {
36      START_STATE,
37      VLV_SEQUENCE_STATE,
38      VLV_TARGET_POSITION_STATE,
39      VLV_CONTENT_COUNT_STATE,
40      VLV_VIRTUAL_LIST_VIEW_RESULT_STATE,
41      VLV_CONTEXT_ID_STATE,
42      END_STATE;
43  
44      public String getGrammarName( int grammar )
45      {
46          return "VLV_RESPONSE_GRAMMAR";
47      }
48  
49  
50      public String getGrammarName( Grammar<?> grammar )
51      {
52          if ( grammar instanceof VirtualListViewResponseGrammar )
53          {
54              return "VLV_RESPONSE_GRAMMAR";
55          }
56  
57          return "UNKNOWN GRAMMAR";
58      }
59  
60  
61      public String getState( int state )
62      {
63          return ( ( state == END_STATE.ordinal() ) ? "VLV_RESPONSE_END_STATE" : name() );
64      }
65  
66  
67      @Override
68      public boolean isEndState()
69      {
70          return this == END_STATE;
71      }
72  
73  
74      @Override
75      public Enum<?> getStartState()
76      {
77          return START_STATE;
78      }
79  }