Source code: com/virtuosotechnologies/asaph/model/notation/Interval.java
1 /*
2 ================================================================================
3
4 FILE: Interval.java
5
6 PROJECT:
7
8 Asaph
9
10 CONTENTS:
11
12 An object that represents an interval
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.notation;
43
44
45 /**
46 * An object that represents an interval between two notes.
47 */
48 public interface Interval
49 {
50 /**
51 * Get the NotationFactory that created this object
52 *
53 * @return the NotationFactory
54 */
55 public NotationFactory getNotationFactory();
56
57
58 /**
59 * Get the negation of the interval
60 *
61 * @return negation
62 */
63 public Interval getNegated();
64
65
66 /**
67 * Generate the long string representation
68 *
69 * @return String
70 */
71 public String generateLongString();
72
73
74 /**
75 * Generate the short string representation
76 *
77 * @return String
78 */
79 public String generateString();
80 }