edu.cs.ai.kreator.ui.cli
Class History

java.lang.Object
  extended by edu.cs.ai.kreator.ui.cli.History

public class History
extends java.lang.Object

A command history buffer.

Author:
Marc Prud'hommeaux

Constructor Summary
History()
          Construstor: initialize a blank history.
History(java.io.File historyFile)
          Construstor: initialize History object the the specified File for storage.
 
Method Summary
 void addToHistory(java.lang.String buffer)
          Add the specified buffer to the end of the history.
 void clear()
          Clear the history buffer
 void flushBuffer()
          Flush the entire history buffer to the output PrintWriter.
 java.lang.String getCurrent()
          Return the content of the current buffer.
 int getCurrentIndex()
          Returns the current history index.
 java.util.List<java.lang.String> getHistoryList()
          Returns an immutable list of the history buffer.
 int getMaxSize()
          Get the maximum size that the history buffer will store.
 java.io.PrintWriter getOutput()
          Returns the PrintWriter that is used to store history elements.
 void load(java.io.InputStream in)
          Load the history buffer from the specified InputStream.
 void load(java.io.Reader reader)
          Load the history buffer from the specified Reader.
 void moveToEnd()
          Move to the end of the history buffer.
 boolean moveToFirstEntry()
          Moves the history index to the first entry.
 boolean moveToLastEntry()
          This moves the history to the last entry.
 boolean next()
          Move the pointer to the next element in the buffer.
 boolean previous()
          Move the pointer to the previous element in the buffer.
 void setHistoryFile(java.io.File historyFile)
           
 void setMaxSize(int maxSize)
          Set the maximum size that the history buffer will store.
 void setOutput(java.io.PrintWriter output)
          The output to which all history elements will be written (or null of history is not saved to a buffer).
 int size()
           
 java.lang.String toString()
          Returns the standard AbstractCollection.toString() representation of the history list.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

History

public History()
Construstor: initialize a blank history.


History

public History(java.io.File historyFile)
        throws java.io.IOException
Construstor: initialize History object the the specified File for storage.

Throws:
java.io.IOException
Method Detail

setHistoryFile

public void setHistoryFile(java.io.File historyFile)
                    throws java.io.IOException
Throws:
java.io.IOException

load

public void load(java.io.InputStream in)
          throws java.io.IOException
Load the history buffer from the specified InputStream.

Throws:
java.io.IOException

load

public void load(java.io.Reader reader)
          throws java.io.IOException
Load the history buffer from the specified Reader.

Throws:
java.io.IOException

size

public int size()

clear

public void clear()
Clear the history buffer


addToHistory

public void addToHistory(java.lang.String buffer)
Add the specified buffer to the end of the history. The pointer is set to the end of the history buffer.


flushBuffer

public void flushBuffer()
                 throws java.io.IOException
Flush the entire history buffer to the output PrintWriter.

Throws:
java.io.IOException

moveToLastEntry

public boolean moveToLastEntry()
This moves the history to the last entry. This entry is one position before the moveToEnd() position.

Returns:
Returns false if there were no history entries or the history index was already at the last entry.

moveToEnd

public void moveToEnd()
Move to the end of the history buffer. This will be a blank entry, after all of the other entries.


setMaxSize

public void setMaxSize(int maxSize)
Set the maximum size that the history buffer will store.


getMaxSize

public int getMaxSize()
Get the maximum size that the history buffer will store.


setOutput

public void setOutput(java.io.PrintWriter output)
The output to which all history elements will be written (or null of history is not saved to a buffer).


getOutput

public java.io.PrintWriter getOutput()
Returns the PrintWriter that is used to store history elements.


getCurrentIndex

public int getCurrentIndex()
Returns the current history index.


getCurrent

public java.lang.String getCurrent()
Return the content of the current buffer.


previous

public boolean previous()
Move the pointer to the previous element in the buffer.

Returns:
true if we successfully went to the previous element

next

public boolean next()
Move the pointer to the next element in the buffer.

Returns:
true if we successfully went to the next element

getHistoryList

public java.util.List<java.lang.String> getHistoryList()
Returns an immutable list of the history buffer.


toString

public java.lang.String toString()
Returns the standard AbstractCollection.toString() representation of the history list.

Overrides:
toString in class java.lang.Object

moveToFirstEntry

public boolean moveToFirstEntry()
Moves the history index to the first entry.

Returns:
Return false if there are no entries in the history or if the history is already at the beginning.