blob: 5da106fc1d95318e99bf3e2a59c4b37761415883 [file] [log] [blame]
//------------------------------------------------------------------------------
// Copyright (c) 2005, 2006 IBM Corporation and others.
// All rights reserved. This program and the accompanying materials
// are made available under the terms of the Eclipse Public License v1.0
// which accompanies this distribution, and is available at
// http://www.eclipse.org/legal/epl-v10.html
//
// Contributors:
// IBM Corporation - initial implementation
//------------------------------------------------------------------------------
package org.eclipse.epf.library.layout;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.eclipse.epf.library.layout.util.XmlElement;
/**
* This class manages a list of bookmarks
*
* @author Jinhua Xi
* @since 1.0
*/
public class BookmarkList {
// a list of bookmark items
private List bookmarks = new ArrayList();
/**
* default constructor
*
*/
public BookmarkList() {
}
/**
* add a new bookmark entry to the list
* @param name String the Bookmark name
* @param fileName String the file name of the bookmark
* @param setAsDefault boolean set the bookmark as default if true.
*/
public void addBookmark(String name, String fileName, boolean setAsDefault) {
_BookmarkEntry entry = new _BookmarkEntry(name, fileName, setAsDefault);
bookmarks.add(entry);
}
/**
* get a list of bookmark entries
* @return List
*/
public List getBookmarks() {
return bookmarks;
}
/**
* get the xml document for the bookmark entries.
*
* @return XmlElement
*/
public XmlElement getXmlElement() {
XmlElement elementXml = new XmlElement("Bookmarks"); //$NON-NLS-1$
for (Iterator it = bookmarks.iterator(); it.hasNext();) {
_BookmarkEntry entry = (_BookmarkEntry) it.next();
String bookmark = entry.fileName;
// String tabName="";
String url = ""; //$NON-NLS-1$
int indx = bookmark.lastIndexOf("."); //$NON-NLS-1$
if (indx > 0) {
// tabName = bookmark.substring(0, indx).replace('_', ' ');
url = bookmark.substring(0, indx) + ".html"; //$NON-NLS-1$
}
elementXml.newChild("Bookmark") //$NON-NLS-1$
.setAttribute("name", bookmark) //$NON-NLS-1$
.setAttribute("tabName", entry.tabName) //$NON-NLS-1$
.setAttribute("url", url) //$NON-NLS-1$
.setAttribute(
"default", (entry.isDefault) ? "true" : "false"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
}
return elementXml;
}
private class _BookmarkEntry {
private String fileName;
private String tabName;
boolean isDefault;
_BookmarkEntry(String name, String fileName, boolean isDefault) {
this.tabName = name.trim();
this.fileName = fileName;
this.isDefault = isDefault;
}
}
}