|
What this is
Other links
The source code
/*
* 19:31:13 31/01/00
*
* HistoryModel.java - An HistoryModel for the Console
* Copyright (C) 1999 Romain Guy
* romain.guy@jext.org
* www.jext.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 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
package org.jext.console;
import java.util.*;
public class HistoryModel
{
// Private members
private int max;
private Vector data;
/**
* Creates a new history model, seizing it
* according to the specified size.
* @param max The maximum numbers of items this history can hold
*/
public HistoryModel(int max)
{
this.max = max;
data = new Vector(max);
}
/**
* When the user validate a new entry, we add it to the
* history.
* @param text The String to be added to the history
*/
public void addItem(String text)
{
if (text == null || text.length() == 0) return;
int index = data.indexOf(text);
if (index != -1)
data.removeElementAt(index);
data.insertElementAt(text, 0);
if (getSize() > max)
data.removeElementAt(getSize() - 1);
}
/**
* When user press UP or DOWN, we need to get
* a previous typed String, stored in the Vector.
* @param index The index of the String to get
* @return A String corresponding to a previous entry
*/
public String getItem(int index)
{
return (String) data.elementAt(index);
}
/**
* As the user can use arrows to get up and down
* in the list, we need to know its max capacity.
* @return Maximum capacity of the history
*/
public int getSize()
{
return data.size();
}
/**
* We can need to add an item directly at the end of
* the list.
* @param item The String to add at the end
*/
private void addItemToEnd(String item)
{
data.addElement(item);
}
}
// End of HistoryModel.java
|
| ... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.