1 package org.codehaus.plexus.interpolation;
2
3 /*
4 * Copyright 2001-2008 Codehaus Foundation.
5 *
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 */
18
19 import java.util.ArrayList;
20 import java.util.List;
21
22 public abstract class AbstractValueSource implements ValueSource {
23
24 private final List feedback;
25
26 protected AbstractValueSource(boolean usesFeedback) {
27 if (usesFeedback) {
28 feedback = new ArrayList();
29 } else {
30 feedback = null;
31 }
32 }
33
34 public void clearFeedback() {
35 if (feedback != null) {
36 feedback.clear();
37 }
38 }
39
40 public List getFeedback() {
41 return feedback;
42 }
43
44 protected void addFeedback(String message) {
45 feedback.add(message);
46 }
47
48 protected void addFeedback(String message, Throwable cause) {
49 feedback.add(message);
50 feedback.add(cause);
51 }
52 }