/* Jazzy - a Java library for Spell Checking Copyright (C) 2001 Mindaugas Idzelis Full text of license can be found in LICENSE.txt This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ package com.swabunga.spell.event; public class Word { // ~ Instance/static variables ............................................... private int end; private int start; private String text; // ~ Constructors ............................................................ /** * Creates a new Word object. * * @param text * the String representing the word. * @param start * the start index of the word. */ public Word(String text, int start) { this.text = text; this.start = start; setEnd(); } /** * Creates a new Word object by cloning an existing Word object. * * @param w * the word object to clone. */ public Word(Word w) { this.copy(w); } // ~ Methods ................................................................. /** * @return the end index of the word. */ public int getEnd() { return end; } /** * Set the start index of the word. * * @param s * the start index. */ public void setStart(int s) { start = s; setEnd(); } /** * @return the start index. */ public int getStart() { return start; } /** * Set the text to a new string value. * * @param s * the new text */ public void setText(String s) { text = s; setEnd(); } /** * @return the String representing the word. */ public String getText() { return text; } /** * Sets the value of this Word to be a copy of another. * * @param w * the Word to copy. */ public void copy(Word w) { text = w.toString(); start = w.getStart(); setEnd(); } /** * @return the length of the word. */ public int length() { return text.length(); } /** * @return the text representing the word. */ @Override public String toString() { return text; } /** * Set the end index of the word. * */ private void setEnd() { end = start + text.length(); } }