/** * Copyright 2007-2010 非也 * All rights reserved. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation。 * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see http://www.gnu.org/licenses. * */ package org.fireflow.engine.entity.runtime; import javax.xml.namespace.QName; import org.fireflow.engine.entity.WorkflowEntity; import org.fireflow.engine.invocation.Message; /** * 流程变量 * @author 非也 * @version 2.0 */ public interface Variable extends WorkflowEntity,Message{ public static final String HEADER_KEY_CLASS_NAME = "org.fireflow.engine.variable.CLASS_NAME"; public static final String HEADER_KEY_ENCODING = "org.fireflow.engine.variable.ENCODING"; /** * 流程变量的名称,用于变量赋值,Javascript变量引用等场合。 * @return */ public String getName(); /** * 返回变量对应的QName;如果是Java类,则该值是经过JAXB转换后对应的QName * @return */ public QName getDataType(); /** * 流程变量的作用域 * @return */ public String getScopeId(); /** * 变量对应的流程元素的Id,从scope对象获取 * @return */ public String getProcessElementId(); public String getProcessId(); public Integer getVersion(); public String getProcessType(); ////////////////////////////////////////////////////////////// ///////////// TODO 下面的属性待考虑 //////////////////////// ///////////////////////////////////////////////////////////// /** * 如果变量是若干Schema文件组成的复杂schema,则该字段存储主文件名称。<br> * * @return */ // public String getMainSchemaFileName(); /** * 返回xml格式的数据对象 * @return */ // public String getValueAsString(); /** * 返回类型对应的Java Class * @return */ // public String getJavaClassName(); /** * schema文件名和schema组成的Map * @return */ // public Map<String,String> getSchemas(); }