View Javadoc

1   ////////////////////////////////////////////////////////////////////////////////
2   // MillScript: an Open Spice interpreter and batch website creation tool
3   // Copyright (C) 2005 Kevin Rogers
4   //
5   // This file is part of MillScript.
6   //
7   // MillScript is free software; you can redistribute it and/or modify it under
8   // the terms of the GNU General Public License as published by the Free
9   // Software Foundation; either version 2 of the License, or (at your option)
10  // any later version.
11  //
12  // MillScript is distributed in the hope that it will be useful, but WITHOUT
13  // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14  // FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
15  // more details.
16  //
17  // You should have received a copy of the GNU General Public License along with
18  // MillScript; if not, write to the Free Software Foundation, Inc., 59 Temple
19  // Place, Suite 330, Boston, MA  02111-1307  USA
20  ////////////////////////////////////////////////////////////////////////////////
21  package org.millscript.commons.vfs.alerts;
22  
23  import org.millscript.commons.alert.Alert;
24  import org.millscript.commons.vfs.VFile;
25  
26  import java.io.File;
27  
28  /**
29   * This class implements an Alert for use in situations like where a virtual
30   * filesystem entry cannot be opened.
31   */
32  public class VCannotOpenEntryAlert extends VFSAlert {
33  
34      /**
35       * This is the ID from the first release for future compatibility.
36       */
37      private static final long serialVersionUID = 3258134643667644977L;
38  
39      /**
40       * Constructs a new cannot open entry alert with no explanation.
41       */
42      public VCannotOpenEntryAlert() {
43          this( null );
44      }
45  
46      /**
47       * Constructs a new cannot open entry alert with the specified
48       * explanation.
49       *
50       * @param exp   the explanation for the alert
51       */
52      public VCannotOpenEntryAlert( final String exp ) {
53          this( "Cannot open virtual filesystem entry", exp );
54      }
55  
56      /**
57       * Constructs a new alert with the specified complaint and explanation.
58       * This constructor is for private use, to allow us to provide an exception
59       * hierarchy.
60       *
61       * @param comp  the alerts complaint
62       * @param exp   the explanation for the alert
63       */
64      protected VCannotOpenEntryAlert( final String comp, final String exp ) {
65          super( comp, exp );
66      }
67  
68      public static Alert fileNotFound( final File file ) {
69          return new VEntryNotFoundAlert( "File does not exist" ).culpritFile( file );
70      }
71  
72      public static Alert fileNotFound( final VFile file ) {
73          return new VEntryNotFoundAlert( "File does not exist" ).decorate( file );
74      }
75  
76      public static Alert entryIsNotAFile( final File file ) {
77          return new VEntryNotFoundAlert( "Required entry exists but is not a file" ).culpritFile( file );
78      }
79  
80      public static Alert entryIsNotAFile( final VFile file ) {
81          return new VEntryNotFoundAlert( "Required entry exists but is not a file" ).decorate( file );
82      }
83  
84  }