001    package org.LiveGraph.dataFile.write;
002    
003    import java.io.File;
004    
005    
006    /**
007     * Is thrown by {@code DataStreamWriterFactory} to indicate that a {@code DataStreamWriter}
008     * for a specified physical file stream cannot be created becasue the file already
009     * exists and cannot be overwritten. This class subclasses {@code RuntimeException} and
010     * not {@code Exception} in order to allow applications the convenience of not catching
011     * this exception if they have a good enough reason to believe that the data file does
012     * not already exist.
013     * 
014     * <p>
015     *   <strong>LiveGraph</strong>
016     *   (<a href="http://www.live-graph.org" target="_blank">http://www.live-graph.org</a>).
017     * </p> 
018     * <p>Copyright (c) 2007-2008 by G. Paperin.</p>
019     * <p>File: DataFileAlreadyExistsException.java</p>
020     * <p style="font-size:smaller;">Redistribution and use in source and binary forms, with or
021     *    without modification, are permitted provided that the following terms and conditions are met:
022     * </p>
023     * <p style="font-size:smaller;">1. Redistributions of source code must retain the above
024     *    acknowledgement of the LiveGraph project and its web-site, the above copyright notice,
025     *    this list of conditions and the following disclaimer.<br />
026     *    2. Redistributions in binary form must reproduce the above acknowledgement of the
027     *    LiveGraph project and its web-site, the above copyright notice, this list of conditions
028     *    and the following disclaimer in the documentation and/or other materials provided with
029     *    the distribution.<br />
030     *    3. All advertising materials mentioning features or use of this software or any derived
031     *    software must display the following acknowledgement:<br />
032     *    <em>This product includes software developed by the LiveGraph project and its
033     *    contributors.<br />(http://www.live-graph.org)</em><br />
034     *    4. All advertising materials distributed in form of HTML pages or any other technology
035     *    permitting active hyper-links that mention features or use of this software or any
036     *    derived software must display the acknowledgment specified in condition 3 of this
037     *    agreement, and in addition, include a visible and working hyper-link to the LiveGraph
038     *    homepage (http://www.live-graph.org).
039     * </p>
040     * <p style="font-size:smaller;">THIS SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY
041     *    OF ANY KIND, EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
042     *    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND  NONINFRINGEMENT. IN NO EVENT SHALL
043     *    THE AUTHORS, CONTRIBUTORS OR COPYRIGHT  HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
044     *    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING  FROM, OUT OF OR
045     *    IN CONNECTION WITH THE SOFTWARE OR THE USE OR  OTHER DEALINGS IN THE SOFTWARE.
046     * </p>
047     * 
048     * @author Greg Paperin (<a href="http://www.paperin.org" target="_blank">http://www.paperin.org</a>)
049     * @version {@value org.LiveGraph.LiveGraph#version}
050     *
051     */
052    public class DataFileAlreadyExistsException extends RuntimeException {
053    
054    
055    /**
056     * Creates a new {@code DataFileAlreadyExistsException} relating to the specified file path.
057     * 
058     * @param filePath A file path.
059     */
060    public DataFileAlreadyExistsException(String filePath) {
061            super("Cannot overwrite file: " + filePath);
062    }
063    
064    /**
065     * Creates a new {@code DataFileAlreadyExistsException} relating to the specified file path.
066     * 
067     * @param file A file.
068     */
069    public DataFileAlreadyExistsException(File file) {
070            super("Cannot overwrite file: " + file.getAbsolutePath());
071    }
072    
073    } // public class DataFileAlreadyExistsException