org.apache.jsieve.CommandStateManager Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of apache-jsieve Show documentation
Show all versions of apache-jsieve Show documentation
Apache jSieve is a server side mail filtering system
implementing RFC3028. Apache jSieve is developed by the
JAMES project.
/****************************************************************
* Licensed to the Apache Software Foundation (ASF) under one *
* or more contributor license agreements. See the NOTICE file *
* distributed with this work for additional information *
* regarding copyright ownership. The ASF licenses this file *
* to you under the Apache License, Version 2.0 (the *
* "License"); you may not use this file except in compliance *
* with the License. You may obtain a copy of the License at *
* *
* http://www.apache.org/licenses/LICENSE-2.0 *
* *
* Unless required by applicable law or agreed to in writing, *
* software distributed under the License is distributed on an *
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
* KIND, either express or implied. See the License for the *
* specific language governing permissions and limitations *
* under the License. *
****************************************************************/
package org.apache.jsieve;
/**
* Thread singleton class CommandStateManager records the state of a Sieve
* evaluation.
*/
public class CommandStateManager {
/**
* The evaluated script is processing Prolog Commands
*/
private boolean fieldInProlog = true;
/**
* The evaluated script has rejected the mail
*/
private boolean fieldRejected = false;
/**
* The evaluated script must keep the mail
*/
private boolean fieldImplicitKeep = true;
/**
* The evaluation has processed Action Commands
*/
private boolean fieldHasActions = false;
/**
* Constructor for CommandStateManager.
*/
public CommandStateManager() {
super();
initialize();
}
/**
* Initialize the receiver.
*/
protected void initialize() {
setInProlog(true);
setRejected(false);
setHasActions(false);
setImplicitKeep(true);
}
/**
* Returns the hasActions.
*
* @return boolean
*/
public boolean isHasActions() {
return fieldHasActions;
}
/**
* Returns the inProlog.
*
* @return boolean
*/
public boolean isInProlog() {
return fieldInProlog;
}
/**
* Returns the isRejected.
*
* @return boolean
*/
public boolean isRejected() {
return fieldRejected;
}
/**
* Sets the hasActions.
*
* @param hasActions
* The hasActions to set
*/
public void setHasActions(boolean hasActions) {
fieldHasActions = hasActions;
}
/**
* Sets the inProlog.
*
* @param inProlog
* The inProlog to set
*/
public void setInProlog(boolean inProlog) {
fieldInProlog = inProlog;
}
/**
* Sets the isRejected.
*
* @param isRejected
* The isRejected to set
*/
public void setRejected(boolean isRejected) {
fieldRejected = isRejected;
}
/**
* Returns the implicitKeep.
*
* @return boolean
*/
public boolean isImplicitKeep() {
return fieldImplicitKeep;
}
/**
* Sets the implicitKeep.
*
* @param implicitKeep
* The implicitKeep to set
*/
public void setImplicitKeep(boolean implicitKeep) {
fieldImplicitKeep = implicitKeep;
}
}