/******************************************************************
  NOTE: Source files best viewed with a tabstop of 4.
 
 Copyright 2000-2006 by BEA Systems Inc.
 
 THE SOURCE CODE HEREIN (THE "CODE") IS SUBJECT TO THE TERMS AND
 CONDITIONS OF THE LICENSE AGREEMENT ACCOMPANYING THE BEA SYSTEMS INC.
 KODO SOFTWARE (THE "LICENSE AGREEMENT"). WITHOUT SUPERSEDING OR
 LIMITING THE APPLICATION OF THE LICENSE AGREEMENT, THE CODE IS
 SUPPLIED "AS IS" WITHOUT WARRANTY OF ANY KIND, AND YOU ACKNOWLEDGE
 THAT (EXCEPT AS OTHERWISE PROHIBITED BY LAW) BEA SYSTEMS INC. SHALL
 HAVE NO LIABILITY WHATSOEVER IN RELATION TO ANY USE OF THE CODE.
 
 LICENSEE MAY NOT REDISTRIBUTE, TRANSFER, SUBLICENSE OR SELL THE CODE OR
 EXPLOIT THE CODE IN ANY OTHER MANNER THAN AS EXPRESSLY ALLOWED IN THE
 LICENSE AGREEMENT. THIS LICENSE DOES NOT ENTITLE LICENSEE TO RECEIVE
 FROM BEA SYSTEMS INC. DOCUMENTATION, TECHNICAL SUPPORT, TELEPHONE
 ASSISTANCE, OR ENHANCEMENTS OR UPDATES TO THE CODE.
 ******************************************************************/
 

package tutorial.persistence;
 

import java.util.*;
import javax.persistence.*;


/**
 *	A snake is an animal that is likely to eat rabbits.
 *	This class will be used in Chapter V.
 */
@Entity(name="Snake")
public class Snake
	extends Animal
{
	// the resale price of a snake
	public static final float RESALE_PRICE = 150.0f;

	// member variable declarations go here
	@Basic @Column(name="SNAKE_LENGTH")
	private short length = 0;


	/**
	 *	Constructor.
	 *
	 *	@param 	name	the name of this snake
	 *	@param 	feet	the length of the snake, in feet
	 */
	public Snake (String name, short feet)
	{
		super (name, RESALE_PRICE);
		length = feet;
	}


	public String toString (boolean detailed)
	{
		StringBuffer buf = new StringBuffer (1024);
		buf.append ("Snake ").append (getName ());

		if (detailed)
		{
			buf.append (" (").append (length).append (" feet long) sells for ");
			buf.append (getPrice ()).append (" dollars.");
		}

		return buf.toString ();
	}
}
