View Javadoc
1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one or more
3    * contributor license agreements.  See the NOTICE file distributed with
4    * this work for additional information regarding copyright ownership.
5    * The ASF licenses this file to You under the Apache License, Version 2.0
6    * (the "License"); you may not use this file except in compliance with
7    * the License.  You may obtain a copy of the License at
8    *
9    *      http://www.apache.org/licenses/LICENSE-2.0
10   *
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */
17  
18  package com.github.dexecutor.core.task;
19  
20  import com.github.dexecutor.core.DependentTasksExecutor.ExecutionBehavior;
21  /**
22   * Class to delegate responsibilities to underlying @Task
23   * 
24   * @author Nadeem Mohammad
25   *
26   * @param <T> Type of Node/Task ID
27   * @param <R> Type of Node/Task result
28   */
29  abstract class AbstractDelegatingTask <T extends Comparable<T>, R> extends Task<T, R> {
30  
31  	private static final long serialVersionUID = 1L;
32  
33  	private Task<T, R> task;
34  	
35  	public AbstractDelegatingTask(final Task<T, R> task) {
36  		this.task = task;
37  	}
38  	
39  	protected Task<T, R> getTargetTask() {
40  		return this.task;
41  	}
42  	
43  	
44  	public void setId(final T id) {
45  		this.task.setId(id);
46  	}
47  
48  	public T getId() {;
49  		return this.task.getId();
50  	}
51  
52  	public void setErrored() {
53  		this.task.setErrored();
54  	}
55  
56  	public void setSkipped() {
57  		this.task.setSkipped();
58  	}
59  	
60  	public void setSuccess() {
61  		this.task.setSuccess();
62  	}
63  
64  	public ExecutionStatus getStatus() {
65  		return this.task.getStatus();
66  	}
67  
68  	public ExecutionBehavior getExecutionBehavior() {
69  		return this.task.getExecutionBehavior();
70  	}
71  
72  	public void setExecutionBehavior(ExecutionBehavior executionBehavior) {
73  		this.task.setExecutionBehavior(executionBehavior);
74  	}
75  
76  	public  boolean shouldConsiderExecutionError() {
77  		return this.task.shouldConsiderExecutionError();
78  	}
79  
80  	void setConsiderExecutionError(boolean considerExecutionError) {
81  		this.task.setConsiderExecutionError(considerExecutionError);
82  	}
83  	
84  	public boolean shouldExecute(final ExecutionResults<T, R> parentResults) {
85  		return this.task.shouldExecute(parentResults);
86  	}
87  }