key0-96/
key0-96/doc/key/
key0-96/doc/key/credits/
key0-96/doc/key/developers/
key0-96/doc/key/developers/resources/
key0-96/setup/caves/
key0-96/setup/help/
key0-96/setup/ruins/
key0-96/src/
key0-96/src/commands/
key0-96/src/events/
key0-96/src/hack/
key0-96/src/sql/
key0-96/src/swing/
key0-96/src/talker/forest/
key0-96/src/talker/objects/
key0-96/src/terminals/
/*
**               j###t  ########## ####   ####
**              j###t   ########## ####   ####
**             j###T               "###L J###"
**          ######P'    ##########  #########
**          ######k,    ##########   T######T
**          ####~###L   ####
**          #### q###L  ##########   .#####
**          ####  \###L ##########   #####"
**
**  $Id$
**
**  Class History
**
**  Date        Name         Description
**  ---------|------------|-----------------------------------------------
**  19Aug98     subtle       start of recorded history
**
*/

package key;

import key.collections.ShortcutCollection;

import java.util.Enumeration;
import java.util.StringTokenizer;
import java.io.*;

/**
  *  Realm
 */
public class Realm extends Landscape
{
	private static final long serialVersionUID = -670816069729829015L;
	public static final AtomicElement[] ELEMENTS =
	{
			//  String getName();
		AtomicElement.construct( Realm.class, Landscape.class, "entryRooms",
			AtomicElement.PUBLIC_FIELD,
			"the rooms in this realm that may be logged into" ),
		AtomicElement.construct( Realm.class, NoKeyContainer.class, "objects",
			AtomicElement.PUBLIC_FIELD,
			"the objects for this realm, since rooms are reference containers only" ),
		AtomicElement.construct( Realm.class, MessageBox.class, "news",
			AtomicElement.PUBLIC_FIELD,
			"the news postings for this realm" )
	};
	
	public static final AtomicStructure STRUCTURE = new AtomicStructure( Landscape.STRUCTURE, ELEMENTS );
	
	public final Landscape entryRooms = (Landscape) Factory.makeAtom( Landscape.class, "entryRooms" );
	public final NoKeyContainer objects = (NoKeyContainer) Factory.makeAtom( NoKeyContainer.class, "objects" );
	public final MessageBox news = (MessageBox) Factory.makeAtom( MessageBox.class, "news" );
	
	public Realm()
	{
		super( false );
		entryRooms.reference = true;
		
		news.getPermissionList().allow( Container.addToAction );
	}
	
	public void setupPlayersCollection()
	{
		playergroup.setCollection( new ShortcutCollection() );
	}
	
	public AtomicStructure getDeclaredStructure()
	{
		return( STRUCTURE );
	}
	
	public Landscape getEntryRooms()
	{
		return( entryRooms );
	}
}