001    /*
002      GRANITE DATA SERVICES
003      Copyright (C) 2007-2010 ADEQUATE SYSTEMS SARL
004    
005      This file is part of Granite Data Services.
006    
007      Granite Data Services is free software; you can redistribute it and/or modify
008      it under the terms of the GNU Library General Public License as published by
009      the Free Software Foundation; either version 2 of the License, or (at your
010      option) any later version.
011    
012      Granite Data Services is distributed in the hope that it will be useful, but
013      WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
014      FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License
015      for more details.
016    
017      You should have received a copy of the GNU Library General Public License
018      along with this library; if not, see <http://www.gnu.org/licenses/>.
019    */
020    
021    package org.granite.generator.exception;
022    
023    import org.granite.generator.Input;
024    
025    /**
026     * @author Franck WOLFF
027     */
028    public class TransformerNotFoundException extends RuntimeException {
029    
030            private static final long serialVersionUID = 1L;
031            
032            private final Input<?> input;
033    
034            public TransformerNotFoundException(Input<?> input) {
035                    super(initMessage(input, null));
036                    this.input = input;
037            }
038    
039            public TransformerNotFoundException(Input<?> input, String message, Throwable cause) {
040                    super(initMessage(input, message), cause);
041                    this.input = input;
042            }
043    
044            public TransformerNotFoundException(Input<?> input, String message) {
045                    super(initMessage(input, message));
046                    this.input = input;
047            }
048    
049            public TransformerNotFoundException(Input<?> input, Throwable cause) {
050                    super(initMessage(input, null));
051                    this.input = input;
052            }
053    
054            public Input<?> getInput() {
055                    return input;
056            }
057            
058            private static String initMessage(Input<?> input, String message) {
059                    if (message == null)
060                            message = "Could not find any Transformer for input: " + input;
061                    return message;
062            }
063    }