package com.treelight.krnl;

/**
 * The fundamental atomic unit of the system. The foundation for
 * most everything else. The entities in the system are nodes and
 * lists. Each entity is identifyed by an entityType. Entity types
 * let the kernel make sure that invalid structures are not being
 * created by the outer system.
 *
 * @version 0.1
 * @author Eric Armstrong
 * @see ../NodesAndLists.html
 */
abstract public class AbstractEntity implements EntityTypes {

  // The type is undefined in the abstract class. The intent is for each
  // concrete class to define it.
  static final String entityType;

  /**
   * Returns the node type.
   * Types are hard-coded into each class, so there is a getter
   * but no setter.
   */
  public String getEntityType() { return entityType; }  

}//AbstractEntity
