1 /*
2 * Copyright 2006-2013 the original author or authors.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16 package org.springframework.batch.core.listener;
17
18 import java.util.List;
19
20 import org.springframework.batch.core.ChunkListener;
21 import org.springframework.batch.core.ExitStatus;
22 import org.springframework.batch.core.ItemProcessListener;
23 import org.springframework.batch.core.ItemReadListener;
24 import org.springframework.batch.core.ItemWriteListener;
25 import org.springframework.batch.core.SkipListener;
26 import org.springframework.batch.core.StepExecution;
27 import org.springframework.batch.core.StepExecutionListener;
28 import org.springframework.batch.core.StepListener;
29 import org.springframework.batch.core.scope.context.ChunkContext;
30
31 /**
32 * Basic no-op implementations of all {@link StepListener} interfaces.
33 *
34 * @author Lucas Ward
35 * @author Robert Kasanicky
36 */
37 public class StepListenerSupport<T,S> implements StepExecutionListener, ChunkListener,
38 ItemReadListener<T>, ItemProcessListener<T,S>, ItemWriteListener<S>, SkipListener<T, S> {
39
40 /* (non-Javadoc)
41 * @see org.springframework.batch.core.StepExecutionListener#afterStep(org.springframework.batch.core.StepExecution)
42 */
43 @Override
44 public ExitStatus afterStep(StepExecution stepExecution) {
45 return null;
46 }
47
48 /* (non-Javadoc)
49 * @see org.springframework.batch.core.StepExecutionListener#beforeStep(org.springframework.batch.core.StepExecution)
50 */
51 @Override
52 public void beforeStep(StepExecution stepExecution) {
53 }
54
55 /* (non-Javadoc)
56 * @see org.springframework.batch.core.domain.ChunkListener#afterChunk(ChunkContext context)
57 */
58 @Override
59 public void afterChunk(ChunkContext context) {
60 }
61
62 /* (non-Javadoc)
63 * @see org.springframework.batch.core.domain.ChunkListener#beforeChunk(ChunkContext context)
64 */
65 @Override
66 public void beforeChunk(ChunkContext context) {
67 }
68
69 /* (non-Javadoc)
70 * @see org.springframework.batch.core.domain.ItemReadListener#afterRead(java.lang.Object)
71 */
72 @Override
73 public void afterRead(T item) {
74 }
75
76 /* (non-Javadoc)
77 * @see org.springframework.batch.core.domain.ItemReadListener#beforeRead()
78 */
79 @Override
80 public void beforeRead() {
81 }
82
83 /* (non-Javadoc)
84 * @see org.springframework.batch.core.domain.ItemReadListener#onReadError(java.lang.Exception)
85 */
86 @Override
87 public void onReadError(Exception ex) {
88 }
89
90 /* (non-Javadoc)
91 * @see org.springframework.batch.core.ItemWriteListener#afterWrite(java.util.List)
92 */
93 @Override
94 public void afterWrite(List<? extends S> items) {
95 }
96
97 /* (non-Javadoc)
98 * @see org.springframework.batch.core.ItemWriteListener#beforeWrite(java.util.List)
99 */
100 @Override
101 public void beforeWrite(List<? extends S> items) {
102 }
103
104 /* (non-Javadoc)
105 * @see org.springframework.batch.core.ItemWriteListener#onWriteError(java.lang.Exception, java.util.List)
106 */
107 @Override
108 public void onWriteError(Exception exception, List<? extends S> items) {
109 }
110
111 /* (non-Javadoc)
112 * @see org.springframework.batch.core.ItemProcessListener#afterProcess(java.lang.Object, java.lang.Object)
113 */
114 @Override
115 public void afterProcess(T item, S result) {
116 }
117
118 /* (non-Javadoc)
119 * @see org.springframework.batch.core.ItemProcessListener#beforeProcess(java.lang.Object)
120 */
121 @Override
122 public void beforeProcess(T item) {
123 }
124
125 /* (non-Javadoc)
126 * @see org.springframework.batch.core.ItemProcessListener#onProcessError(java.lang.Object, java.lang.Exception)
127 */
128 @Override
129 public void onProcessError(T item, Exception e) {
130 }
131
132 /* (non-Javadoc)
133 * @see org.springframework.batch.core.SkipListener#onSkipInProcess(java.lang.Object, java.lang.Throwable)
134 */
135 @Override
136 public void onSkipInProcess(T item, Throwable t) {
137 }
138
139 /* (non-Javadoc)
140 * @see org.springframework.batch.core.SkipListener#onSkipInRead(java.lang.Throwable)
141 */
142 @Override
143 public void onSkipInRead(Throwable t) {
144 }
145
146 /* (non-Javadoc)
147 * @see org.springframework.batch.core.SkipListener#onSkipInWrite(java.lang.Object, java.lang.Throwable)
148 */
149 @Override
150 public void onSkipInWrite(S item, Throwable t) {
151 }
152
153 @Override
154 public void afterChunkError(ChunkContext context) {
155 }
156
157 }