package com.apldbio.sds.platform.sae.audit.ui.view;


import java.awt.*;

/**
 */
public interface Demo {

    public static final int ATTRIBUTE_NONE = 0;
    public static final int ATTRIBUTE_NEW = 1;
    public static final int ATTRIBUTE_BETA = 2;
    public static final int ATTRIBUTE_UPDATED = 4;

    /**
     * Gets the name of this demo.
     *
     * @return the name of the demo.
     */
    String getName();

    /**
     * Gets the description of this demo.
     *
     * @return the description of the demo.
     */
    String getDescription();

    /**
     * Gets the product name that this demo mainly demos.
     *
     * @return the mainly demoed product name.
     */
    String getProduct();

    /**
     * Gets the main demo panel.
     *
     * @return the main demo panel.
     */
    Component getDemoPanel();

    /**
     * Gets the source code for the demo.
     *
     * @return the source code for the demo.
     */
    String[] getDemoSource();

    /**
     * Gets the folder for the source code of the demo.
     *
     * @return the folder for the source code of the demo.
     */
    String getDemoFolder();

    /**
     * Gets the panel where user can set options of the demoing component(s).
     *
     * @return options panel.
     */
    Component getOptionsPanel();

    /**
     * Gets attributes such as new, updated, beta etc.
     *
     * @return attributes
     */
    int getAttributes();
}
