001    /*
002     * Copyright (c) 2007-2014 Concurrent, Inc. All Rights Reserved.
003     *
004     * Project and contact information: http://www.cascading.org/
005     *
006     * This file is part of the Cascading project.
007     *
008     * Licensed under the Apache License, Version 2.0 (the "License");
009     * you may not use this file except in compliance with the License.
010     * You may obtain a copy of the License at
011     *
012     *     http://www.apache.org/licenses/LICENSE-2.0
013     *
014     * Unless required by applicable law or agreed to in writing, software
015     * distributed under the License is distributed on an "AS IS" BASIS,
016     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
017     * See the License for the specific language governing permissions and
018     * limitations under the License.
019     */
020    
021    package cascading.flow;
022    
023    import cascading.CascadingException;
024    
025    /** FlowException instances are thrown on errors when executing a Flow. */
026    public class FlowException extends CascadingException
027      {
028      /** Field flowName */
029      String flowName;
030    
031      /** Constructor FlowException creates a new FlowException instance. */
032      public FlowException()
033        {
034        }
035    
036      /**
037       * Constructor FlowException creates a new FlowException instance.
038       *
039       * @param message of type String
040       */
041      public FlowException( String message )
042        {
043        super( message );
044        }
045    
046      /**
047       * Constructor FlowException creates a new FlowException instance.
048       *
049       * @param message   of type String
050       * @param throwable of type Throwable
051       */
052      public FlowException( String message, Throwable throwable )
053        {
054        super( message, throwable );
055        }
056    
057      /**
058       * Constructor FlowException creates a new FlowException instance.
059       *
060       * @param flowName  of type String
061       * @param message   of type String
062       * @param throwable of type Throwable
063       */
064      public FlowException( String flowName, String message, Throwable throwable )
065        {
066        super( message, throwable );
067        this.flowName = flowName;
068        }
069    
070      /**
071       * Constructor FlowException creates a new FlowException instance.
072       *
073       * @param throwable of type Throwable
074       */
075      public FlowException( Throwable throwable )
076        {
077        super( throwable );
078        }
079    
080      /**
081       * Method getFlowName returns the name of the parent {@link Flow} instance.
082       *
083       * @return the flowName (type String) of this FlowException object.
084       */
085      public String getFlowName()
086        {
087        return flowName;
088        }
089    
090      void setFlowName( String flowName )
091        {
092        this.flowName = flowName;
093        }
094      }