1 /* 2 * $Id: UMOStreamingTransformer.java 7963 2007-08-21 08:53:15Z dirk.olmes $ 3 * -------------------------------------------------------------------------------------- 4 * Copyright (c) MuleSource, Inc. All rights reserved. http://www.mulesource.com 5 * 6 * The software in this package is published under the terms of the CPAL v1.0 7 * license, a copy of which has been included with this distribution in the 8 * LICENSE.txt file. 9 */ 10 11 package org.mule.umo.transformer; 12 13 import java.io.InputStream; 14 import java.io.OutputStream; 15 16 /** 17 * TODO 18 */ 19 20 public interface UMOStreamingTransformer extends UMOBaseTransformer 21 { 22 23 /** 24 * Transformers can be chained together and invoked in a series 25 * 26 * @return the next transformer to invoke after this one 27 */ 28 UMOStreamingTransformer getNextTransformer(); 29 30 /** 31 * Transformers can be chained together and invoked in a series 32 * 33 * @param nextTransformer the next transforer to invoke 34 */ 35 void setNextTransformer(UMOStreamingTransformer nextTransformer); 36 37 /** 38 * Thransforms the supllied data and returns the result 39 * 40 * @param src the inputStream 41 * @param encoding the encoding to use in this transformation (if necessary) 42 * @return the transformed data 43 * @throws TransformerException if a error occurs transforming the data or if the 44 * expected returnClass isn't the same as the transformed data 45 */ 46 // TODO RM: shouldn't this method be void since the "result" is in OutputStream? 47 Object transform(InputStream src, OutputStream dest, String encoding) throws TransformerException; 48 49 }