001 /** 002 * 003 * Licensed to the Apache Software Foundation (ASF) under one or more 004 * contributor license agreements. See the NOTICE file distributed with 005 * this work for additional information regarding copyright ownership. 006 * The ASF licenses this file to You under the Apache License, Version 2.0 007 * (the "License"); you may not use this file except in compliance with 008 * the License. You may obtain a copy of the License at 009 * 010 * http://www.apache.org/licenses/LICENSE-2.0 011 * 012 * Unless required by applicable law or agreed to in writing, software 013 * distributed under the License is distributed on an "AS IS" BASIS, 014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 015 * See the License for the specific language governing permissions and 016 * limitations under the License. 017 */ 018 package org.apache.camel.bam.processor; 019 020 import org.apache.camel.Exchange; 021 import org.apache.camel.bam.model.ActivityState; 022 import org.apache.camel.bam.model.ProcessInstance; 023 import org.apache.camel.bam.rules.ActivityRules; 024 import org.apache.camel.bam.rules.ProcessRules; 025 026 /** 027 * @version $Revision: 1.1 $ 028 */ 029 public class ProcessContext { 030 private Exchange exchange; 031 private ProcessRules processRules; 032 private ActivityRules activityRules; 033 private ProcessInstance processInstance; 034 private ActivityState activityState; 035 036 public ProcessContext(Exchange exchange, ActivityRules activityRules, ActivityState activityState) { 037 this.exchange = exchange; 038 this.activityRules = activityRules; 039 this.activityState = activityState; 040 this.processRules = activityRules.getProcessRules(); 041 this.processInstance = activityState.getProcessInstance(); 042 } 043 044 public ActivityRules getActivity() { 045 return activityRules; 046 } 047 048 public void setActivity(ActivityRules activityRules) { 049 this.activityRules = activityRules; 050 } 051 052 public ActivityState getActivityState() { 053 return activityState; 054 } 055 056 public void setActivityState(ActivityState activityState) { 057 this.activityState = activityState; 058 } 059 060 public Exchange getExchange() { 061 return exchange; 062 } 063 064 public void setExchange(Exchange exchange) { 065 this.exchange = exchange; 066 } 067 068 public ProcessRules getProcessDefinition() { 069 return processRules; 070 } 071 072 public void setProcessDefinition(ProcessRules processRules) { 073 this.processRules = processRules; 074 } 075 076 public ProcessInstance getProcessInstance() { 077 return processInstance; 078 } 079 080 public void setProcessInstance(ProcessInstance processInstance) { 081 this.processInstance = processInstance; 082 } 083 084 public ActivityState getActivityState(ActivityRules activityRules) { 085 return getProcessInstance().getActivityState(activityRules); 086 } 087 088 /** 089 * Called when the activity is started which may end up creating some timers 090 * for dependent actions 091 */ 092 public void onStarted(ActivityState activityState) { 093 /** TODO */ 094 } 095 096 /** 097 * Called when the activity is completed which may end up creating some timers 098 * for dependent actions 099 */ 100 public void onCompleted(ActivityState activityState) { 101 /** TODO */ 102 } 103 }