View Javadoc
1   /*
2    * Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.com
3    * The software in this package is published under the terms of the CPAL v1.0
4    * license, a copy of which has been included with this distribution in the
5    * LICENSE.txt file.
6    */
7   package org.mule.api.transformer;
8   
9   import org.mule.api.endpoint.EndpointException;
10  import org.mule.config.i18n.Message;
11  import org.mule.transformer.TransformerUtils;
12  
13  import java.util.List;
14  
15  /**
16   * <code>TransformerException</code> is a simple exception that is thrown by
17   * transformers.
18   */
19  
20  public class TransformerException extends EndpointException
21  {
22      private static final String TRANSFORMER = "Transformer";
23      
24      /**
25       * Serial version
26       */
27      private static final long serialVersionUID = 2943589828020763649L;
28  
29      private transient Transformer transformer;
30  
31      /**
32       * @param message the exception message
33       */
34      public TransformerException(Message message, Transformer transformer)
35      {
36          super(message);
37          this.transformer = transformer;
38          addInfo(TRANSFORMER, transformer.toString());
39      }
40  
41      public TransformerException(Message message, List<Transformer> transformers)
42      {
43          super(message);
44          this.transformer = TransformerUtils.firstOrNull(transformers);
45          addInfo(TRANSFORMER, TransformerUtils.toString(transformers));
46      }
47  
48      /**
49       * @param message the exception message
50       * @param cause the exception that cause this exception to be thrown
51       */
52      public TransformerException(Message message, Transformer transformer, Throwable cause)
53      {
54          super(message, cause);
55          this.transformer = transformer;
56          addInfo(TRANSFORMER, transformer.toString());
57      }
58  
59      public TransformerException(Message message, List<Transformer> transformers, Throwable cause)
60      {
61          super(message, cause);
62          this.transformer = TransformerUtils.firstOrNull(transformers);
63          addInfo(TRANSFORMER, TransformerUtils.toString(transformers));
64      }
65  
66      public TransformerException(Transformer transformer, Throwable cause)
67      {
68          super(cause);
69          this.transformer = transformer;
70          addInfo(TRANSFORMER, (transformer == null ? "null" : transformer.toString()));
71      }
72  
73       public TransformerException(List<Transformer> transformers, Throwable cause)
74      {
75          super(cause);
76          this.transformer = TransformerUtils.firstOrNull(transformers);
77          addInfo(TRANSFORMER, TransformerUtils.toString(transformers));
78      }
79  
80     /**
81       * @param message the exception message
82       * @param cause the exception that cause this exception to be thrown
83       */
84      public TransformerException(Message message, Throwable cause)
85      {
86          super(message, cause);
87      }
88  
89      /**
90       * @param message the exception message
91       */
92      public TransformerException(Message message)
93      {
94          super(message);
95      }
96  
97      public Transformer getTransformer()
98      {
99          return transformer;
100     }
101 }