01: /**
02: * Sequoia: Database clustering technology.
03: * Copyright (C) 2002-2004 French National Institute For Research In Computer
04: * Science And Control (INRIA).
05: * Contact: sequoia@continuent.org
06: *
07: * Licensed under the Apache License, Version 2.0 (the "License");
08: * you may not use this file except in compliance with the License.
09: * You may obtain a copy of the License at
10: *
11: * http://www.apache.org/licenses/LICENSE-2.0
12: *
13: * Unless required by applicable law or agreed to in writing, software
14: * distributed under the License is distributed on an "AS IS" BASIS,
15: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16: * See the License for the specific language governing permissions and
17: * limitations under the License.
18: *
19: * Initial developer(s): Nicolas Modrzyk.
20: * Contributor(s): ______________________.
21: */package org.continuent.sequoia.console.text.commands;
22:
23: import java.util.List;
24: import java.util.StringTokenizer;
25:
26: import org.continuent.sequoia.common.i18n.ConsoleTranslate;
27: import org.continuent.sequoia.console.text.module.AbstractConsoleModule;
28:
29: /**
30: * This class defines a History
31: *
32: * @author <a href="mailto:Nicolas.Modrzyk@inrialpes.fr">Nicolas Modrzyk </a>
33: * @version 1.0
34: */
35: public class History extends ConsoleCommand {
36:
37: /**
38: * Creates a new <code>History</code> object
39: *
40: * @param module module that owns this commands
41: */
42: public History(AbstractConsoleModule module) {
43: super (module);
44: }
45:
46: /**
47: * @see org.continuent.sequoia.console.text.commands.ConsoleCommand#parse(java.lang.String)
48: */
49: public void parse(String commandText) throws Exception {
50: List list = module.getConsole().getHistory();
51: StringTokenizer st = new StringTokenizer(commandText);
52: if (st.countTokens() == 0) {
53: for (int i = 0; i < list.size(); i++) {
54: Object o = list.get(i);
55: console.println("" + i + "\t" + o); //$NON-NLS-1$ //$NON-NLS-2$
56: }
57: } else {
58: int line = Integer.parseInt(st.nextToken());
59: console.printInfo((String) list.get(line));
60: module.handleCommandLine((String) list.get(line), module
61: .getHashCommands());
62: }
63: }
64:
65: /**
66: * @see org.continuent.sequoia.console.text.commands.ConsoleCommand#getCommandName()
67: */
68: public String getCommandName() {
69: return "history"; //$NON-NLS-1$
70: }
71:
72: /**
73: * @see org.continuent.sequoia.console.text.commands.ConsoleCommand#getCommandDescription()
74: */
75: public String getCommandDescription() {
76: return ConsoleTranslate.get("console.command.history"); //$NON-NLS-1$
77: }
78:
79: /**
80: * @see org.continuent.sequoia.console.text.commands.ConsoleCommand#getCommandParameters()
81: */
82: public String getCommandParameters() {
83: return "[<command index>]"; //$NON-NLS-1$
84: }
85: }
|