// Import statements go here.  For example,
// import java.awt.Color;
// import java.util.ArrayList;
// import java.util.Random;

/**
 *  Lab (or Programming Project) X: Name of Lab or PP<br>
 *
 *  One-sentence description of role or purpose of objects of this
 *  class goes here.
 *
 *  A more detailed description goes here, if necessary.
 *
 *  @author [your name]
 *  @author [your partner's name]
 *  @author [with assistance from ... (including instructor/TAs)]
 *  @author [working side-by-side with ...]
 *  @version [last_modification_date]
 */
public class NormalClassTemplate
{
  // State: instance variables and shared class variables go here.
    private int instVar;          // example instance variable

  // Constructors

    /**
     * Constructs a new object of this class.
     * 
     *      @param   initialValue    initial value for the object's state
     */
    public NormalClassTemplate(int initialValue)
    {
        // initialise instance variables
        this.instVar = initialValue;
    }

  // Methods

    /**
     * Gets the value of one of this object's attributes (replace this
     * description with a one-sentence summary of your own).
     * You may provide more details in later sentences, but note
     * that they will only appear in the Method Details section of
     * the class documentation, not the Method Summary section.
     * 
     *      @return the attribute value
     */
    public int getAttribute()
    {
        return this.instVar;
    }

    /**
     * Increments the object's state by the amount passed in as a parameter
     * (replace this description with a one-sentence summary of your own).
     * You may provide more details in later sentences, but note
     * that they will only appear in the Method Details section of
     * the class documentation, not the Method Summary section.
     * 
     *      @param  par a sample parameter for a method
     */
    public void modifyObject(int par)
    {
        // Internal comments describe the purpose of blocks of code, e.g.
        // Add the value passed in as a parameter to the instance variable.
        this.instVar = this.instVar + par;
    }

    /**
     * Returns the sum of instVar and par
     * (replace this description with a one-sentence summary of your own).
     * You may provide more details in later sentences, but note
     * that they will only appear in the Method Details section of
     * the class documentation, not the Method Summary section.
     * 
     *      @param  par a sample parameter for a method
     *      @return     the sum of instVar and par
     */
    public int invokeAMethod(int par)
    {
        // Internal comments describe the purpose of blocks of code, e.g.
        // Return the sum of the object's state and the input parameter.
        return this.instVar + par;
    }

}
