/**
* ESUP-Portail Helpdesk - Copyright (c) 2004-2009 ESUP-Portail consortium.
*/
package org.esupportail.helpdesk.web.beans.departmentSelection;
import java.net.InetAddress;
import org.esupportail.helpdesk.domain.DomainService;
import org.esupportail.helpdesk.domain.beans.User;
import org.esupportail.helpdesk.domain.departmentSelection.UserDefinedCondition;
import org.esupportail.helpdesk.web.beans.AbstractFirstLastNode;
/**
* The node of a user-defined condition.
*/
public class UserDefinedConditionNode extends AbstractFirstLastNode {
/**
* The serialization id.
*/
private static final long serialVersionUID = -3681462627888021471L;
/**
* The user-defined condition.
*/
private UserDefinedCondition userDefinedCondition;
/**
* The node index.
*/
private int index;
/**
* Bean constructor.
* @param index
* @param userDefinedCondition
*/
@SuppressWarnings("unchecked")
public UserDefinedConditionNode(
final int index,
final UserDefinedCondition userDefinedCondition) {
super("userDefinedCondition", userDefinedCondition.getName(), true);
this.userDefinedCondition = userDefinedCondition;
this.index = index;
ConditionNode conditionNode = new ConditionNode(userDefinedCondition.getCondition());
getChildren().add(conditionNode);
markFirstAndLastChildNodes();
setLeaf(false);
}
/**
* @return the condition node
*/
public ConditionNode getConditionNode() {
return (ConditionNode) getChildren().get(0);
}
/**
* Evaluate the associated condition.
* @param domainService
* @param user
* @param client
*/
public void eval(
final DomainService domainService,
final User user,
final InetAddress client) {
getConditionNode().eval(domainService, user, client);
}
/**
* Reset the evaluation.
*/
public void resetEval() {
getConditionNode().resetEval();
}
/**
* @return the evalResult
*/
public Boolean getEvalResult() {
return getConditionNode().getEvalResult();
}
/**
* @return the userDefinedCondition
*/
public UserDefinedCondition getUserDefinedCondition() {
return userDefinedCondition;
}
/**
* @param userDefinedCondition the userDefinedCondition to set
*/
protected void setUserDefinedCondition(final UserDefinedCondition userDefinedCondition) {
this.userDefinedCondition = userDefinedCondition;
}
/**
* @return the index
*/
public int getIndex() {
return index;
}
}