1 /**
2 *
3 * Copyright 2003-2004 The Apache Software Foundation
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18 package org.apache.geronimo.system.serverinfo;
19
20 import java.io.File;
21 import java.net.URI;
22
23 /**
24 * Contains information about the server and functions for resolving
25 * pathnames.
26 *
27 * @version $Rev: 406784 $ $Date: 2006-05-15 17:24:03 -0700 (Mon, 15 May 2006) $
28 */
29 public interface ServerInfo {
30 public String resolvePath(final String filename);
31
32 public String resolveServerPath(final String filename);
33
34 /**
35 * Resolves a relative pathname to a File, relative to the server
36 * installation directory (e.g. "foo" becomes .../geronimo/foo)
37 *
38 * @param filename a <code>String</code> containing a pathname,
39 * which will be resolved by {@link #resolvePath(String
40 * filename)}.
41 * @return a <code>File</code> value
42 */
43 public File resolve(final String filename);
44
45 /**
46 * Resolves a relative pathname to a File, relative to the server
47 * configuration directory. Normally, this is the same as the Geronimo
48 * installation directory (e.g. "foo" becomes .../geronimo/foo).
49 * However, you can pass command-line arguments to the server to relocate
50 * this to a server-instance-specific directory (e.g. "var/foo" might
51 * become .../geronimo/instance1/var/foo if the server was started with
52 * the flag indicating that the server instance dir was "instance1").
53 */
54 public File resolveServer(final String filename);
55
56 public URI resolve(final URI uri);
57
58 public URI resolveServer(final URI uri);
59
60 /**
61 * A config.xml setting for the base directory. This is normally
62 * left null, which means the ServerInfo will use the Geronimo
63 * install directory.
64 */
65 public String getBaseDirectory();
66
67 /**
68 * The base directory that this ServerInfo is actually using.
69 */
70 public String getCurrentBaseDirectory();
71
72 public String getVersion();
73
74 public String getBuildDate();
75
76 public String getBuildTime();
77
78 public String getCopyright();
79 }