/*---------------------------------------------------------------------------
File:         		        GrammarRightHandToken.java
Package:                        JFLAP Version 3.0
Author:			        Eric Gramond 
                                
Description of Contents:	Contains class GrammarRightHandToken.
				
--------------------------------------------------------------------------*/

/* 
 * Susan H. Rodger, Magda Procopiuc, Octavian Procopiuc, Eric Gramond
 * Computer Science Department
 * Duke University
 * June 1998
 * Supported by National Science Foundation DUE-9596002 and DUE-9555084.
 *
 * Copyright (c) 1998
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms are permitted
 * provided that the above copyright notice and this paragraph are
 * duplicated in all such forms and that any documentation,
 * advertising materials, and other materials related to such
 * distribution and use acknowledge that the software was developed
 * by the author.  The name of the author may not be used to
 * endorse or promote products derived from this software without
 * specific prior written permission.
 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
 * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
 * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
 */

package flap;

import java.util.*;
import java.awt.*;
import java.io.*;
import java.awt.image.*;
import java.awt.event.*;

/**
 * anything on the right side of a Rule. This could be a variables or terminals
 * this class is abstract. Use terminals or variables for it.
 */

public abstract class GrammarRightHandToken {
    
  protected String myContents;
  
    /**
     * creates a new GrammarRightHandToken. abstract.
     */
  public GrammarRightHandToken(String contents) {
    myContents = new String(contents);
  }
    
    /**
     * the standard color this type of token should be drawn in
     */
  public abstract Color getColor();
  
    /**
     * get the contents of the Token. Usually 1 letter but it can be more.
     */
  
  public String getContents() {
    return myContents;
  }
  
    /**
     * set the contents of the token
     */
  public void setContents(String cont) {
    myContents = cont;
  }
  
    /**
      *  returns a type string for this token. Easier for making difference between
      *  variables and terminals.
      */
  public abstract String getType();
}
