Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Class CCaveRoom java.lang.Object edu.waketech.ccave.location.CCaveRoom All Imple

ID: 3731520 • Letter: C

Question

Class CCaveRoom

java.lang.Object

edu.waketech.ccave.location.CCaveRoom

All Implemented Interfaces:
CCaveElement, java.io.Serializable

Direct Known Subclasses:
AboveGrate, Ballroom, DiningRoom, EndOfRoad, Kitchen, Pantry, Tunnels, Wellhouse


public abstract class CCaveRoom extends java.lang.Object implements CCaveElement
Class from which all Rooms (such as Wellhouse, EndOfRoad) inherit. This class provides simple non-customized behavior for a generic Room. Creating a new Room involves the following activities:

subclassing this class. The name of the subclass (say it's "DogDen") will have an element id of "dogden" that will be provided to this superclass via the constructor parameter
dogden.properties will be created in the resources directory. longdescription, shortdescription and location properties values will be defined. Direction properties will indicate where one can travel from this room. For example, assume that from dogden one can go north to the wellhouse or south to the end_of_road, dogden.properties will contain (along with everything else)

n=wellhouse
s=end_of_road

Any other properties unique to the DogDen room must also be defined in this properties file.
the line
new DogDen(),
must be added to the RoomDirectory class's ALL_ITEMS array

Author:
parks, Occhipinti
See Also:
Serialized Form

Field Summary

Fields inherited from interface edu.waketech.ccave.common.CCaveElement

LONG_DESCRIPTION, RESOURCE_DIR, SHORT_DESCRIPTION

Constructor Summary

Constructors
Constructor and Description
CCaveRoom(java.lang.String roomIdentifier)
Constructor that is given the Room's identifier by the subclass, reads and and holds the room's properties.

Method Summary

All Methods Instance Methods Concrete Methods
Modifier and Type Method and Description
java.lang.String getContentsLongDescription()
Accessor for the long description of this room and the long description for each of its items
java.lang.String getContentsShortDescription()
Accessor for the short description of this room and the short description for each of its items
java.lang.String getId()
Getter for "this" item's identifier
java.lang.String getLongDescription()
Getter for a long description
java.util.Properties getProps()
Accessor for properties file
java.util.ArrayList<CCaveItem> getRoomItems()
Accessor for the items currently in this room
java.lang.String getShortDescription()
Getter for a short description
boolean isId(java.lang.String identifier)
Tests whether this element has the given id
CCaveRoom nextRoom(Direction dir)
Accessor to figure out what room lies in a given direction.
java.lang.String toString()

Methods inherited from class java.lang.Object

equals, getClass, hashCode, notify, notifyAll, wait, wait, wait

Methods inherited from interface edu.waketech.ccave.common.CCaveElement

getPropertiesForId

Constructor Detail

CCaveRoom

public CCaveRoom(java.lang.String roomIdentifier)
Constructor that is given the Room's identifier by the subclass, reads and and holds the room's properties.

Parameters:
roomIdentifier - subclass room identifier

Method Detail

nextRoom

public CCaveRoom nextRoom(Direction dir)
Accessor to figure out what room lies in a given direction. This is always from our own perspective.
Our solution to implementing room connectivity is really simple. When nextRoom is called, we scan our properties file looking for keys that are synonyms of the Direction parameter. If we find such a key, we use its value to look up the associated CCaveRoom object in the RoomDirectory. We return that object.
If the direction parameter does not specify a valid direction to move out of this room, we stay were we are by returning ourselves (i.e., this) as the "next room."

Parameters:
dir - the direction of travel
Returns:
the room we will be in after heading in the given direction. If the given direction is not valid for this room, return "this" to stay in the current location.

getProps

public java.util.Properties getProps()
Accessor for properties file

Returns:
properties of this room from roomIdentifier.properties

getRoomItems

public java.util.ArrayList<CCaveItem> getRoomItems()
Accessor for the items currently in this room

Returns:
Items currently in this room. The ArrayList will be empty if there are no such items.

getLongDescription

public java.lang.String getLongDescription()
Description copied from interface: CCaveElement
Getter for a long description

Specified by:
getLongDescription in interface CCaveElement
Returns:
the long description for <whatever>

getShortDescription

public java.lang.String getShortDescription()
Description copied from interface: CCaveElement
Getter for a short description

Specified by:
getShortDescription in interface CCaveElement
Returns:
the short description for <whatever>

getId

public java.lang.String getId()
Description copied from interface: CCaveElement
Getter for "this" item's identifier

Specified by:
getId in interface CCaveElement
Returns:
the identifier for this item

isId

public boolean isId(java.lang.String identifier)
Description copied from interface: CCaveElement
Tests whether this element has the given id

Specified by:
isId in interface CCaveElement
Parameters:
identifier - identifier to compare to this element's id
Returns:
true if the given identifier is equal to ignoring case this element's id, false otherwise

getContentsLongDescription

public java.lang.String getContentsLongDescription()
Accessor for the long description of this room and the long description for each of its items

Returns:
long description of this room and the long description for each of its items

getContentsShortDescription

public java.lang.String getContentsShortDescription()
Accessor for the short description of this room and the short description for each of its items

Returns:
short description of this room and the short description for each of its items

toString

public java.lang.String toString()

Overrides:
toString in class java.lang.Object

Explanation / Answer

Code in java:

//CCaveElement.java


public interface CCaveElement{
public static final String LONG_DESCRIPTION="Long description", RESOURCE_DIR="db.properties", SHORT_DESCRIPTION="Short description";
public boolean isId(String elementId);
public String getContentsLongDescription();
public String getContentsShortDescription();
public String toString();
public java.lang.String getId();
public java.util.Properties getProps();
public java.util.ArrayList<CCaveItem> getRoomItems();
public java.lang.String getShortDescription();
public CCaveRoom nextRoom(Direction dir);
public java.lang.String getLongDescription();
}

//CCaveRoom.java


import java.io.FileReader;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Properties;
import java.util.Set;

/**
*
* @author pc
*/
public class CCaveRoom extends Object implements CCaveElement,Serializable{

public void setElementId(String elementId) {
this.elementId = elementId;
}

public void setRoomItems(ArrayList<CCaveItem> roomItems) {
this.roomItems = roomItems;
}

@Override
public String toString() {
//return room id and its items list
String str="";
str=str+getId()+" ";
for(int i=0;i<roomItems.size();i++)
{
str=str+roomItems.get(i)+" ";
}
return str;
}
@Override
public int hashCode(){
return this.hashCode();
}
@Override
public boolean equals(Object obj) {
return super.equals(obj); //To change body of generated methods, choose Tools | Templates.
}
private String elementId;
ArrayList<CCaveItem> roomItems;
//constuctor
public CCaveRoom(java.lang.String roomIdentifier)
{
elementId=roomIdentifier;
RoomDirectory.add(this);
}
@Override
public boolean isId(String elementId) {
//Returns: true if the given identifier is equal to ignoring case this element's id, false otherwise
if(this.elementId.equalsIgnoreCase(elementId))
{
return true;
}
return false;
}

@Override
public String getContentsLongDescription() {
//return long description of this room andits items
String str="";
str=str+elementId+CCaveElement.LONG_DESCRIPTION+" ";
for(int i=0;i<roomItems.size();i++)
{
str=str+roomItems.get(i).getItemName()+" - "+roomItems.get(i).getLongDescription()+" ";
}
return str;
}

@Override
public String getContentsShortDescription() {
//return short description
String str="";
str=str+elementId+CCaveElement.SHORT_DESCRIPTION+" ";
for(int i=0;i<roomItems.size();i++)
{
str=str+roomItems.get(i).getItemName()+" - "+roomItems.get(i).getShortDescription()+" ";
}
return str;
}

@Override
public String getId() {
return elementId;//return id
}

@Override
public Properties getProps() {
//return properties from resource directory file
Properties p=null;
try{
FileReader reader=new FileReader(CCaveElement.RESOURCE_DIR);
p=new Properties();
p.load(reader); //load the properties into properties object
}catch(Exception e)
{
System.out.println(e.getMessage());
}
return p;
}

@Override
public ArrayList<CCaveItem> getRoomItems() {
return roomItems;//return room items
}

@Override
public String getShortDescription() {
return CCaveElement.SHORT_DESCRIPTION;
}

@Override
public CCaveRoom nextRoom(Direction dir) {
//Accessor to figure out what room lies in a given direction. This is always from our own perspective.
//Our solution to implementing room connectivity is really simple. When nextRoom is called, we scan our properties file looking for keys that are synonyms of the Direction parameter. If we find such a key, we use its value to look up the associated CCaveRoom object in the RoomDirectory. We return that object.
Properties p=getProps();
Set loc = p.keySet(); // get set-view of keys
Iterator itr = loc.iterator();
String str;
while(itr.hasNext()) {
str = (String) itr.next();
if(str.equalsIgnoreCase(dir.getDirection().toString()))
{
return RoomDirectory.find(str);
}
}return this;   
}

@Override
public String getLongDescription() {
return CCaveElement.LONG_DESCRIPTION;
}

  
  
}

//Direction.java


enum dir
{
NORTH,SOUTH,EAST,WEST;
}
public class Direction {

public dir getDirection() {
return direction;
}

public void setDirection(dir direction) {
this.direction = direction;
}
private dir direction;
  
}

//RoomDirectory.java


import java.util.ArrayList;

/**
*
* @author pc
*/
public class RoomDirectory {
private static ArrayList<CCaveRoom> arr=new ArrayList<CCaveRoom>();
public static void add(CCaveRoom r)
{
arr.add(r);
}
public static CCaveRoom find(String str)
{
for(int i=0;i<arr.size();i++)
{
if(arr.get(i).getId().equalsIgnoreCase(str))
{
return arr.get(i);
}
}
return null;
}
}

//AboveGrate.java


import java.util.ArrayList;
import java.util.Properties;

/**
*
* @author pc
*/
public class AboveGrate extends CCaveRoom{

@Override
public String getLongDescription() {
return super.getLongDescription(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public CCaveRoom nextRoom(Direction dir) {
return super.nextRoom(dir); //To change body of generated methods, choose Tools | Templates.
}

@Override
public String getShortDescription() {
return super.getShortDescription(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public ArrayList<CCaveItem> getRoomItems() {
return super.getRoomItems(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public Properties getProps() {
return super.getProps(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public String getId() {
return super.getId(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public String getContentsShortDescription() {
return super.getContentsShortDescription(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public String getContentsLongDescription() {
return super.getContentsLongDescription(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public boolean isId(String elementId) {
return super.isId(elementId); //To change body of generated methods, choose Tools | Templates.
}

@Override
public boolean equals(Object obj) {
return super.equals(obj); //To change body of generated methods, choose Tools | Templates.
}

@Override
public int hashCode() {
return super.hashCode(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public String toString() {
return super.toString(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public void setRoomItems(ArrayList<CCaveItem> roomItems) {
super.setRoomItems(roomItems); //To change body of generated methods, choose Tools | Templates.
}

@Override
public void setElementId(String elementId) {
super.setElementId(elementId); //To change body of generated methods, choose Tools | Templates.
}
  
public AboveGrate(String roomIdentifier) {
super("AboveGrate");
}
  
}

//BallRoom.java


import java.util.ArrayList;
import java.util.Properties;

/**
*
* @author pc
*/
public class Ballroom extends CCaveRoom{

@Override
public String getLongDescription() {
return super.getLongDescription(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public CCaveRoom nextRoom(Direction dir) {
return super.nextRoom(dir); //To change body of generated methods, choose Tools | Templates.
}

@Override
public String getShortDescription() {
return super.getShortDescription(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public ArrayList<CCaveItem> getRoomItems() {
return super.getRoomItems(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public Properties getProps() {
return super.getProps(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public String getId() {
return super.getId(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public String getContentsShortDescription() {
return super.getContentsShortDescription(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public String getContentsLongDescription() {
return super.getContentsLongDescription(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public boolean isId(String elementId) {
return super.isId(elementId); //To change body of generated methods, choose Tools | Templates.
}

@Override
public boolean equals(Object obj) {
return super.equals(obj); //To change body of generated methods, choose Tools | Templates.
}

@Override
public int hashCode() {
return super.hashCode(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public String toString() {
return super.toString(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public void setRoomItems(ArrayList<CCaveItem> roomItems) {
super.setRoomItems(roomItems); //To change body of generated methods, choose Tools | Templates.
}

@Override
public void setElementId(String elementId) {
super.setElementId(elementId); //To change body of generated methods, choose Tools | Templates.
}
  
public Ballroom(String roomIdentifier) {
super("Ballroom");
}
  
  
}

//CCaveItem.java


public class CCaveItem {

public String getShortDescription() {
return shortDescription;
}

public void setShortDescription(String shortDescription) {
this.shortDescription = shortDescription;
}

public String getLongDescription() {
return longDescription;
}

public void setLongDescription(String longDescription) {
this.longDescription = longDescription;
}

public String getItemName() {
return itemName;
}

public void setItemName(String itemName) {
this.itemName = itemName;
}
private String itemName;
private String shortDescription,longDescription;
  
}

//DiningRoom.java


import java.util.ArrayList;
import java.util.Properties;

/**
*
* @author pc
*/
public class DiningRoom extends CCaveRoom{

@Override
public String getLongDescription() {
return super.getLongDescription(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public CCaveRoom nextRoom(Direction dir) {
return super.nextRoom(dir); //To change body of generated methods, choose Tools | Templates.
}

@Override
public String getShortDescription() {
return super.getShortDescription(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public ArrayList<CCaveItem> getRoomItems() {
return super.getRoomItems(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public Properties getProps() {
return super.getProps(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public String getId() {
return super.getId(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public String getContentsShortDescription() {
return super.getContentsShortDescription(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public String getContentsLongDescription() {
return super.getContentsLongDescription(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public boolean isId(String elementId) {
return super.isId(elementId); //To change body of generated methods, choose Tools | Templates.
}

@Override
public boolean equals(Object obj) {
return super.equals(obj); //To change body of generated methods, choose Tools | Templates.
}

@Override
public int hashCode() {
return super.hashCode(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public String toString() {
return super.toString(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public void setRoomItems(ArrayList<CCaveItem> roomItems) {
super.setRoomItems(roomItems); //To change body of generated methods, choose Tools | Templates.
}

@Override
public void setElementId(String elementId) {
super.setElementId(elementId); //To change body of generated methods, choose Tools | Templates.
}
  
public DiningRoom(String roomIdentifier) {
super("DiningRoom");
}
  
}

//WellHouse.java


import java.util.ArrayList;
import java.util.Properties;

/**
*
* @author pc
*/
public class Wellhouse extends CCaveRoom{

@Override
public String getLongDescription() {
return super.getLongDescription(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public CCaveRoom nextRoom(Direction dir) {
return super.nextRoom(dir); //To change body of generated methods, choose Tools | Templates.
}

@Override
public String getShortDescription() {
return super.getShortDescription(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public ArrayList<CCaveItem> getRoomItems() {
return super.getRoomItems(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public Properties getProps() {
return super.getProps(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public String getId() {
return super.getId(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public String getContentsShortDescription() {
return super.getContentsShortDescription(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public String getContentsLongDescription() {
return super.getContentsLongDescription(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public boolean isId(String elementId) {
return super.isId(elementId); //To change body of generated methods, choose Tools | Templates.
}

@Override
public boolean equals(Object obj) {
return super.equals(obj); //To change body of generated methods, choose Tools | Templates.
}

@Override
public int hashCode() {
return super.hashCode(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public String toString() {
return super.toString(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public void setRoomItems(ArrayList<CCaveItem> roomItems) {
super.setRoomItems(roomItems); //To change body of generated methods, choose Tools | Templates.
}

@Override
public void setElementId(String elementId) {
super.setElementId(elementId); //To change body of generated methods, choose Tools | Templates.
}
  
public Wellhouse(String roomIdentifier) {
super("Wellhouse");
}
  
}

//Tunnels.java


import java.util.ArrayList;
import java.util.Properties;

/**
*
* @author pc
*/
public class Tunnels extends CCaveRoom{

@Override
public String getLongDescription() {
return super.getLongDescription(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public CCaveRoom nextRoom(Direction dir) {
return super.nextRoom(dir); //To change body of generated methods, choose Tools | Templates.
}

@Override
public String getShortDescription() {
return super.getShortDescription(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public ArrayList<CCaveItem> getRoomItems() {
return super.getRoomItems(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public Properties getProps() {
return super.getProps(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public String getId() {
return super.getId(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public String getContentsShortDescription() {
return super.getContentsShortDescription(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public String getContentsLongDescription() {
return super.getContentsLongDescription(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public boolean isId(String elementId) {
return super.isId(elementId); //To change body of generated methods, choose Tools | Templates.
}

@Override
public boolean equals(Object obj) {
return super.equals(obj); //To change body of generated methods, choose Tools | Templates.
}

@Override
public int hashCode() {
return super.hashCode(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public String toString() {
return super.toString(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public void setRoomItems(ArrayList<CCaveItem> roomItems) {
super.setRoomItems(roomItems); //To change body of generated methods, choose Tools | Templates.
}

@Override
public void setElementId(String elementId) {
super.setElementId(elementId); //To change body of generated methods, choose Tools | Templates.
}
  
public Tunnels(String roomIdentifier) {
super("Tunnels");
}
  
}

//Pantry.java


import java.util.ArrayList;
import java.util.Properties;

/**
*
* @author pc
*/
public class Pantry extends CCaveRoom{

@Override
public String getLongDescription() {
return super.getLongDescription(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public CCaveRoom nextRoom(Direction dir) {
return super.nextRoom(dir); //To change body of generated methods, choose Tools | Templates.
}

@Override
public String getShortDescription() {
return super.getShortDescription(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public ArrayList<CCaveItem> getRoomItems() {
return super.getRoomItems(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public Properties getProps() {
return super.getProps(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public String getId() {
return super.getId(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public String getContentsShortDescription() {
return super.getContentsShortDescription(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public String getContentsLongDescription() {
return super.getContentsLongDescription(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public boolean isId(String elementId) {
return super.isId(elementId); //To change body of generated methods, choose Tools | Templates.
}

@Override
public boolean equals(Object obj) {
return super.equals(obj); //To change body of generated methods, choose Tools | Templates.
}

@Override
public int hashCode() {
return super.hashCode(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public String toString() {
return super.toString(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public void setRoomItems(ArrayList<CCaveItem> roomItems) {
super.setRoomItems(roomItems); //To change body of generated methods, choose Tools | Templates.
}

@Override
public void setElementId(String elementId) {
super.setElementId(elementId); //To change body of generated methods, choose Tools | Templates.
}
  
public Pantry(String roomIdentifier) {
super("Pantry");
}
  
}

//Kitchen.java


import java.util.ArrayList;
import java.util.Properties;

/**
*
* @author pc
*/
public class Kitchen extends CCaveRoom{

@Override
public String getLongDescription() {
return super.getLongDescription(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public CCaveRoom nextRoom(Direction dir) {
return super.nextRoom(dir); //To change body of generated methods, choose Tools | Templates.
}

@Override
public String getShortDescription() {
return super.getShortDescription(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public ArrayList<CCaveItem> getRoomItems() {
return super.getRoomItems(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public Properties getProps() {
return super.getProps(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public String getId() {
return super.getId(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public String getContentsShortDescription() {
return super.getContentsShortDescription(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public String getContentsLongDescription() {
return super.getContentsLongDescription(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public boolean isId(String elementId) {
return super.isId(elementId); //To change body of generated methods, choose Tools | Templates.
}

@Override
public boolean equals(Object obj) {
return super.equals(obj); //To change body of generated methods, choose Tools | Templates.
}

@Override
public int hashCode() {
return super.hashCode(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public String toString() {
return super.toString(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public void setRoomItems(ArrayList<CCaveItem> roomItems) {
super.setRoomItems(roomItems); //To change body of generated methods, choose Tools | Templates.
}

@Override
public void setElementId(String elementId) {
super.setElementId(elementId); //To change body of generated methods, choose Tools | Templates.
}
  
public Kitchen(String roomIdentifier) {
super("Kitchen");
}
  
}

//EndOfRoad.java


import java.util.ArrayList;
import java.util.Properties;

/**
*
* @author pc
*/
public class EndOfRoad extends CCaveRoom{

@Override
public String getLongDescription() {
return super.getLongDescription(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public CCaveRoom nextRoom(Direction dir) {
return super.nextRoom(dir); //To change body of generated methods, choose Tools | Templates.
}

@Override
public String getShortDescription() {
return super.getShortDescription(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public ArrayList<CCaveItem> getRoomItems() {
return super.getRoomItems(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public Properties getProps() {
return super.getProps(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public String getId() {
return super.getId(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public String getContentsShortDescription() {
return super.getContentsShortDescription(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public String getContentsLongDescription() {
return super.getContentsLongDescription(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public boolean isId(String elementId) {
return super.isId(elementId); //To change body of generated methods, choose Tools | Templates.
}

@Override
public boolean equals(Object obj) {
return super.equals(obj); //To change body of generated methods, choose Tools | Templates.
}

@Override
public int hashCode() {
return super.hashCode(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public String toString() {
return super.toString(); //To change body of generated methods, choose Tools | Templates.
}

@Override
public void setRoomItems(ArrayList<CCaveItem> roomItems) {
super.setRoomItems(roomItems); //To change body of generated methods, choose Tools | Templates.
}

@Override
public void setElementId(String elementId) {
super.setElementId(elementId); //To change body of generated methods, choose Tools | Templates.
}
  
public EndOfRoad(String roomIdentifier) {
super("EndOfRoad");
}
  
}