// these interfaces may move at some point to something like: hep.heprep
package hep.graphics.heprep1;

import java.awt.Color;


/**
 *
 * @author M.Donszelmann
 *
 * @version $Id: HepRepAttValue.java,v 1.2 2004/07/18 08:19:41 duns Exp $
 */

public interface HepRepAttValue {
    public static final String cvsId = "$Id: HepRepAttValue.java,v 1.2 2004/07/18 08:19:41 duns Exp $";

    /** 
     * Defines constants for showLabel
     */
    public static int SHOW_NONE =   0x0000;
    public static int SHOW_NAME =   0x0001;
    public static int SHOW_DESC =   0x0002;
    public static int SHOW_VALUE =  0x0004;
    public static int SHOW_EXTRA =  0x0008;

    /**
     * @returns Capitalized Name
     */
    public String getName();
    
    /**
     * @returns flag bits if should be shown as label
     */
    public int showLabel();
    
    /**
     * @returns value as Object
     */
    public Object getValue();

    /**
     * @returns value as Capitalized string
     */
    public String getString();

    /**
     * @returns value as long
     */
    public long getLong();

    /**
     * @returns value as integer
     */
    public int getInteger();

    /**
     * @returns value as double
     */
    public double getDouble();

    /**
     * @returns value as boolean
     */
    public boolean getBoolean();

    /**
     * @returns value as Color
     */
    public Color getColor();

    /**
     * @returns value as FontStyle
     */
    public int getFontStyle();
}
