01: /*
02:
03: This software is OSI Certified Open Source Software.
04: OSI Certified is a certification mark of the Open Source Initiative.
05:
06: The license (Mozilla version 1.0) can be read at the MMBase site.
07: See http://www.MMBase.org/license
08:
09: */
10: package org.mmbase.datatypes.processors;
11:
12: import org.mmbase.bridge.*;
13: import java.util.*;
14:
15: /**
16: * Chains a bunch of other processors into one new processor.
17: *
18: * @author Michiel Meeuwissen
19: * @version $Id: ChainedProcessor.java,v 1.6 2007/03/29 15:22:48 pierre Exp $
20: * @since MMBase-1.7
21: */
22:
23: public class ChainedProcessor implements Processor {
24:
25: private static final long serialVersionUID = 1L;
26:
27: private List<Processor> processors = new ArrayList<Processor>();
28:
29: public ChainedProcessor add(Processor proc) {
30: processors.add(proc);
31: return this ;
32: }
33:
34: public Object process(Node node, Field field, Object value) {
35: for (Processor proc : processors) {
36: value = proc.process(node, field, value);
37: }
38: return value;
39: }
40:
41: public String toString() {
42: return "chained" + processors;
43: }
44:
45: }
|