1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.millscript.commons.vfs.alerts;
22
23 import org.millscript.commons.alert.Alert;
24
25 import java.net.URI;
26
27 /**
28 * This class implements an Alert for use in situations like where a
29 * <code>FileNotFoundException</code> has been thrown, or when a virtual
30 * filesystem entry cannot be found.
31 */
32 public class VHostNotFoundAlert extends VFSAlert {
33
34 /**
35 * This is the ID from the first release for future compatibility.
36 */
37 private static final long serialVersionUID = 3258132461857749045L;
38
39 /**
40 * Constructs a new virtual file not found alert with no explanation.
41 */
42 public VHostNotFoundAlert() {
43 this( null );
44 }
45
46 /**
47 * Constructs a new virtual file not found alert with the specified
48 * explanation.
49 *
50 * @param exp the explanation for the alert
51 */
52 public VHostNotFoundAlert( final String exp ) {
53 this( "Entry not found", 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 VHostNotFoundAlert( final String comp, final String exp ) {
65 super( comp, exp );
66 }
67
68 public VHostNotFoundAlert culpritHost( final String host ) {
69 return (VHostNotFoundAlert) this.culprit( "host name", host );
70 }
71
72 public static Alert hostCannotBeResolved( final URI uri ) {
73 return new VHostNotFoundAlert( "Hostname cannot be resolved" ).culpritHost( uri.getHost() );
74 }
75
76 }