View Javadoc

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  }