/* * Copyright 2004-2012 the Seasar Foundation and the Others. * * Licensed 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.seasar.mayaa.engine.processor; import java.io.Serializable; /** * プロセッサ動作にて状態遷移を示すステータス。 * * @author Koji Suga (Gluegent Inc.) */ public class ProcessStatus implements Serializable { private static final long serialVersionUID = 473586899180314059L; private String _status; /** * @param status ステータス文字列。 */ public ProcessStatus(String status) { if (status == null) { throw new IllegalArgumentException(); } _status = status; } /** * ステータス文字列を取得する。 * @return ステータス文字列。 */ public String getStatus() { return _status; } public boolean equals(Object test) { if (test instanceof ProcessStatus) { ProcessStatus testStatus = (ProcessStatus) test; return testStatus.getStatus().equals(getStatus()); } return false; } public int hashCode() { return ("org.seasar.mayaa.engine.processor.ProcessStatus:" + _status).hashCode(); } // values ------------------------------------------------------ /** * リターンフラグ。TemplateProcessor#doStartProcess()がこの値を返すと、 * プロセッサボディを出力しない。 */ public static final ProcessStatus SKIP_BODY = new ProcessStatus("SKIP_BODY"); /** * リターンフラグ。TemplateProcessor#doStartProcess()がこの値を返すと、 * プロセッサボディをバッファリング無しで出力する。 */ public static final ProcessStatus EVAL_BODY_INCLUDE = new ProcessStatus("EVAL_BODY_INCLUDE"); /** * リターンフラグ。TemplateProcessor#doEndProcess()がこの値を返すと、 * 以降の出力をただちに中止する。 */ public static final ProcessStatus SKIP_PAGE = new ProcessStatus("SKIP_PAGE"); /** * リターンフラグ。TemplateProcessor#doEndProcess()がこの値を返すと、 * 以降のプロセッサ出力を続ける。 */ public static final ProcessStatus EVAL_PAGE = new ProcessStatus("EVAL_PAGE"); /** * リターンフラグ。この値をItarateProcessor#doAfterChildProcess() * が返すと、再イテレートする。 */ public static final ProcessStatus EVAL_BODY_AGAIN = new ProcessStatus("EVAL_BODY_AGAIN"); /** * リターンフラグ。この値をChildEvaluationProcessor#doStartProcess() * が返すと、プロセッサボディをバッファリングする。 */ public static final ProcessStatus EVAL_BODY_BUFFERED = new ProcessStatus("EVAL_BODY_BUFFERED"); }