//----------------------------------------------------------------------------// // // // G l y p h A d m i n i s t r a t i o n // // // //----------------------------------------------------------------------------// // <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.glyph.facets; import omr.glyph.Nest; import omr.util.Vip; /** * Interface {@code GlyphAdministration} defines the administration * facet of a glyph, handling the glyph id and its related containing * nest. * * @author Hervé Bitteur */ interface GlyphAdministration extends GlyphFacet, Vip { //~ Methods ---------------------------------------------------------------- /** * Report whether this entity has been "processed". * * @return the processed flag value */ public boolean isProcessed (); /** * Set a flag to be used at caller's will. * * @param processed the processed to set */ public void setProcessed (boolean processed); /** * Report the unique glyph id within its containing nest * * @return the glyph id */ int getId (); /** * Report the containing nest * * @return the containing nest */ Nest getNest (); /** * Report a short glyph reference * * @return glyph reference */ String idString (); /** * Test whether the glyph is transient (not yet inserted into the nest) * * @return true if transient */ boolean isTransient (); /** * Report whether this glyph is virtual (rather than real) * * @return true if virtual */ boolean isVirtual (); /** * Assign a unique ID to the glyph * * @param id the unique id */ void setId (int id); /** * The setter for glyph nest. * To be used with care, it freezes the glyph geometry, forbidding any * geometric modification (such as {@link Glyph#addSection} that would * impact its signature. * * @param nest the containing nest */ void setNest (Nest nest); }