gov.sandia.cognition.text.DefaultTextual Maven / Gradle / Ivy
/*
* File: DefaultTextual.java
* Authors: Justin Basilico
* Company: Sandia National Laboratories
* Project: Cognitive Foundry Text Core
*
* Copyright February 01, 2011, Sandia Corporation.
* Under the terms of Contract DE-AC04-94AL85000, there is a non-exclusive
* license for use of this work by or on behalf of the U.S. Government. Export
* of this program may require a license from the United States Government.
*/
package gov.sandia.cognition.text;
import gov.sandia.cognition.util.ObjectUtil;
/**
* A default implementation of the {@code Textual} interface that just stores
* a string value.
*
* @author Justin Basilico
* @since 3.1
*/
public class DefaultTextual
extends AbstractTextual
{
/** The text value. */
protected String text;
/**
* Creates a new {@code DefaultTextual} containing the empty string.
*/
public DefaultTextual()
{
this("");
}
/**
* Creates a new {@code DefaultTextual} containing the given text.
*
* @param text
* The text to store in the object.
*/
public DefaultTextual(
final String text)
{
super();
this.setText(text);
}
/**
* Creates a new {@code DefaultTextual} that takes the string text value
* from the given {@code Textual} object.
*
* @param other
* The other object to get the text from.
*/
public DefaultTextual(
final Textual other)
{
this(other.getText());
}
@Override
public DefaultTextual clone()
{
return (DefaultTextual) super.clone();
}
@Override
public boolean equals(
final Object other)
{
return (this == other)
|| (other instanceof DefaultTextual
&& ObjectUtil.equalsSafe(this.text,
((DefaultTextual) other).text));
}
@Override
public int hashCode()
{
// Use the text as a hash code.
return ObjectUtil.hashCodeSafe(this.text);
}
/**
* Gets the text value in this object.
*
* @return
* The text value.
*/
@Override
public String getText()
{
return this.text;
}
/**
* Sets the text value in this object.
*
* @param text
* The text value.
*/
public void setText(
final String text)
{
this.text = text;
}
}