/* * Copyright 2010 Red Hat, Inc. and/or its affiliates. * * 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.drools.core.marshalling.impl; import java.io.IOException; import java.io.OutputStream; import java.util.Map; import org.drools.core.common.BaseNode; import org.drools.core.common.InternalWorkingMemory; import org.drools.core.impl.InternalKnowledgeBase; import org.drools.core.marshalling.impl.MarshallerWriteContext; import org.kie.api.marshalling.ObjectMarshallingStrategyStore; import org.kie.api.runtime.Environment; /** * Extension to default <code>MarshallerWriteContext</code> that allows to pass additional * information to marshaller strategies, such as process instance id, task it, state */ public class ProcessMarshallerWriteContext extends MarshallerWriteContext { public static final int STATE_ACTIVE = 1; public static final int STATE_COMPLETED = 2; private Long processInstanceId; private Long taskId; private Long workItemId; private int state; public ProcessMarshallerWriteContext(OutputStream stream, InternalKnowledgeBase kBase, InternalWorkingMemory wm, Map<Integer, BaseNode> sinks, ObjectMarshallingStrategyStore resolverStrategyFactory, Environment env) throws IOException { super(stream, kBase, wm, sinks, resolverStrategyFactory, env); } public Long getProcessInstanceId() { return processInstanceId; } public void setProcessInstanceId(Long processInstanceId) { this.processInstanceId = processInstanceId; } public Long getTaskId() { return taskId; } public void setTaskId(Long taskId) { this.taskId = taskId; } public Long getWorkItemId() { return workItemId; } public void setWorkItemId(Long workItemId) { this.workItemId = workItemId; } public int getState() { return state; } public void setState(int state) { this.state = state; } }