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  package org.apache.jsieve;
21  
22  /**
23   * Thread singleton class CommandStateManager records the state of a Sieve
24   * evaluation.
25   */
26  public class CommandStateManager {
27  
28      /**
29       * The evaluated script is processing Prolog Commands
30       */
31      private boolean fieldInProlog = true;
32  
33      /**
34       * The evaluated script has rejected the mail
35       */
36      private boolean fieldRejected = false;
37  
38      /**
39       * The evaluated script must keep the mail
40       */
41      private boolean fieldImplicitKeep = true;
42  
43      /**
44       * The evaluation has processed Action Commands
45       */
46      private boolean fieldHasActions = false;
47  
48      /**
49       * Constructor for CommandStateManager.
50       */
51      public CommandStateManager() {
52          super();
53          initialize();
54      }
55  
56      /**
57       * Initialize the receiver.
58       */
59      protected void initialize() {
60          setInProlog(true);
61          setRejected(false);
62          setHasActions(false);
63          setImplicitKeep(true);
64      }
65  
66      /**
67       * Returns the hasActions.
68       * 
69       * @return boolean
70       */
71      public boolean isHasActions() {
72          return fieldHasActions;
73      }
74  
75      /**
76       * Returns the inProlog.
77       * 
78       * @return boolean
79       */
80      public boolean isInProlog() {
81          return fieldInProlog;
82      }
83  
84      /**
85       * Returns the isRejected.
86       * 
87       * @return boolean
88       */
89      public boolean isRejected() {
90          return fieldRejected;
91      }
92  
93      /**
94       * Sets the hasActions.
95       * 
96       * @param hasActions
97       *            The hasActions to set
98       */
99      public void setHasActions(boolean hasActions) {
100         fieldHasActions = hasActions;
101     }
102 
103     /**
104      * Sets the inProlog.
105      * 
106      * @param inProlog
107      *            The inProlog to set
108      */
109     public void setInProlog(boolean inProlog) {
110         fieldInProlog = inProlog;
111     }
112 
113     /**
114      * Sets the isRejected.
115      * 
116      * @param isRejected
117      *            The isRejected to set
118      */
119     public void setRejected(boolean isRejected) {
120         fieldRejected = isRejected;
121     }
122 
123     /**
124      * Returns the implicitKeep.
125      * 
126      * @return boolean
127      */
128     public boolean isImplicitKeep() {
129         return fieldImplicitKeep;
130     }
131 
132     /**
133      * Sets the implicitKeep.
134      * 
135      * @param implicitKeep
136      *            The implicitKeep to set
137      */
138     public void setImplicitKeep(boolean implicitKeep) {
139         fieldImplicitKeep = implicitKeep;
140     }
141 
142 }