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 }