Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: com/virtuosotechnologies/asaph/model/Variation.java


1   /*
2   ================================================================================
3   
4     FILE:  Variation.java
5     
6     PROJECT:
7     
8       Asaph
9     
10    CONTENTS:
11    
12      Variation interface
13    
14    PROGRAMMERS:
15    
16      Daniel Azuma (DA)  <dazuma@kagi.com>
17    
18    COPYRIGHT:
19    
20      Copyright (C) 2003  Daniel Azuma  (dazuma@kagi.com)
21      
22      This program is free software; you can redistribute it and/or
23      modify it under the terms of the GNU General Public License as
24      published by the Free Software Foundation; either version 2
25      of the License, or (at your option) any later version.
26      
27      This program is distributed in the hope that it will be useful,
28      but WITHOUT ANY WARRANTY; without even the implied warranty of
29      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30      GNU General Public License for more details.
31      
32      You should have received a copy of the GNU General Public
33      License along with this program; if not, write to
34        Free Software Foundation, Inc.
35        59 Temple Place, Suite 330
36        Boston, MA 02111-1307 USA
37  
38  ================================================================================
39  */
40  
41  
42  package com.virtuosotechnologies.asaph.model;
43  
44  
45  /**
46   * A variation on the verses for a song. Variations handle alternate versions
47   * that have extra verses or missing verses.
48   */
49  public interface Variation
50  extends SongMember
51  {
52    //-------------------------------------------------------------------------
53    // Accessor methods
54    //-------------------------------------------------------------------------
55    
56    /**
57     * Get a SimpleString containing the name of the variation.
58     * Every Variation will have a name, even if it is the empty string.
59     *
60     * @return name
61     */
62    public SimpleString getName();
63    
64    
65    /**
66     * Get a string ID that can be used to serialize references to this
67     * Variation. The ID is guaranteed to be unique among Variations within
68     * the owning Song, and will remain the same for the same Variation across
69     * different executions of the tool. However, two Variations from different
70     * Songs may have the same string ID, and the same string ID may be
71     * shared between SongBlocks, Variations and ChordSets within the same
72     * Song.
73     *
74     * @return a unique serializable String ID for this Variation
75     */
76    public String getSerializableID();
77    
78    
79    //-------------------------------------------------------------------------
80    // Mutation methods
81    //-------------------------------------------------------------------------
82  }