/* * GSPath.java * Copyright (C) 2002 New Zealand Digital Library, http://www.nzdl.org * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ package org.greenstone.gsdl3.util; /** * GSPath - utility class for greenstone * * modifies and examines message address paths and names * * @author Katherine Don * @version $Revision: 13977 $ * */ public class GSPath { /** adds new_link to the end of path * * @return the new path */ static public String appendLink(String path, String new_link) { if (path.equals("")) { return new_link; } return path +"/"+new_link; } /** adds new_link to the front of path * * @return the new path */ static public String prependLink(String path, String new_link) { if (path.equals("")) { return new_link; } return new_link+"/"+path; } /** replaces the first link in the path with the specified name */ static public String replaceFirstLink(String path, String new_first_link) { path = removeFirstLink(path); path = prependLink(path, new_first_link); return path; } /** returns the first name in the path * */ static public String getFirstLink(String path) { int i = path.indexOf("/"); if (i==0) { // have a '/' on the front path = path.substring(1); i= path.indexOf("/"); } if (i==-1) { // '/' not found return path; } return path.substring(0,i); } /** removes the first name in the path * * @return the modified path */ static public String removeFirstLink(String path) { int i = path.indexOf("/"); if (i==0) { // have a '/' on the front path = path.substring(1); i= path.indexOf("/"); } if (i==-1) { // '/' not found - remove the whole path return ""; } return path.substring(i+1); // remove the '/' char } /** removes the last name in the path * * @return the modified path */ static public String removeLastLink(String path) { int i = path.lastIndexOf("/"); if (i==-1) { // '/' not found - remove the whole path return ""; } return path.substring(0, i); // remove the '/' char } static public String getLastLink(String path) { int i = path.lastIndexOf("/"); if (i==-1) { // '/' not found - return the whole path return path; } return path.substring(i+1); // remove the last link } static public String createPath(String [] links) { String path = links[0]; for (int i=1; i