//----------------------------------------------------------------------------//
// //
// S h e e t T a s k //
// //
//----------------------------------------------------------------------------//
// <editor-fold defaultstate="collapsed" desc="hdr"> //
// Copyright © Hervé Bitteur and others 2000-2013. All rights reserved. //
// This software is released under the GNU General Public License. //
// Goto http://kenai.com/projects/audiveris to report bugs or suggestions. //
//----------------------------------------------------------------------------//
// </editor-fold>
package omr.script;
import omr.sheet.Sheet;
import javax.xml.bind.annotation.XmlAttribute;
/**
* Class {@code SheetTask} is a {@link ScriptTask} that applies to a
* given sheet.
*
* @author Hervé Bitteur
*/
public abstract class SheetTask
extends ScriptTask
{
//~ Instance fields --------------------------------------------------------
/** Page index */
@XmlAttribute(name = "page")
protected Integer page;
/** The related sheet */
protected Sheet sheet;
//~ Constructors -----------------------------------------------------------
//-----------//
// SheetTask //
//-----------//
/**
* Creates a new SheetTask object.
*/
protected SheetTask (Sheet sheet)
{
page = sheet.getPage()
.getIndex();
}
//-----------//
// SheetTask //
//-----------//
/** No-arg constructor for JAXB only */
protected SheetTask ()
{
}
//~ Methods ----------------------------------------------------------------
//--------------//
// getPageIndex //
//--------------//
/**
* Report the id of the page/sheet if any
* @return the sheet index (counted from 1) or null if none
*/
public Integer getPageIndex ()
{
return page;
}
//-----------------//
// internalsString //
//-----------------//
@Override
protected String internalsString ()
{
StringBuilder sb = new StringBuilder(super.internalsString());
if (page != null) {
sb.append(" page#")
.append(page);
}
return sb.toString();
}
}