View Javadoc

1   /*
2    * $Id: UMOBaseTransformer.java 7976 2007-08-21 14:26:13Z 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  package org.mule.umo.transformer;
11  
12  import org.mule.umo.endpoint.UMOImmutableEndpoint;
13  import org.mule.umo.lifecycle.Initialisable;
14  
15  /**
16   * <code>UMOTransformer</code> can be chained together to covert message payloads from one
17   * object type to another.
18  
19   */
20  public interface UMOBaseTransformer extends Initialisable, Cloneable
21  {
22      /**
23       * The endpoint that this transformer is attached to
24       * @return the endpoint associated with the transformer
25       */
26      UMOImmutableEndpoint getEndpoint();
27  
28      /**
29       * Sets the endpoint associated with with this connector
30       * @param endpoint sets the endpoint associated with the transfromer
31       */
32      void setEndpoint(UMOImmutableEndpoint endpoint);
33  
34      /**
35       * @param newName the logical name for the transformer
36       */
37      void setName(String newName);
38  
39      /**
40       * @return the logical name of the transformer
41       */
42      String getName();
43  
44      // TODO RM*: This can be removed for Mule 2.0 (we'll use Spring bean prototypes)
45      Object clone() throws CloneNotSupportedException;
46  
47  }