1 /*
2  * aTunes
3  * Copyright (C) Alex Aranda, Sylvain Gaudard and contributors
4  *
5  * See http://www.atunes.org/wiki/index.php?title=Contributing for information about contributors
6  *
7  * http://www.atunes.org
8  * http://sourceforge.net/projects/atunes
9  *
10  * This program is free software; you can redistribute it and/or
11  * modify it under the terms of the GNU General Public License
12  * as published by the Free Software Foundation; either version 2
13  * of the License, or (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU General Public License for more details.
19  */
20 
21 package net.sourceforge.atunes.model;
22 
23 import java.io.Serializable;
24 
25 import org.joda.time.base.BaseDateTime;
26 
27 /**
28  * Represents the metadata information of an audio file
29  *
30  * @author alex
31  *
32  */
33 public interface ITag extends Serializable {
34 
35 	/**
36 	 * Gets the album.
37 	 *
38 	 * @return the album
39 	 */
getAlbum()40 	public String getAlbum();
41 
42 	/**
43 	 * Gets the album artist.
44 	 *
45 	 * @return the album artist
46 	 */
getAlbumArtist()47 	public String getAlbumArtist();
48 
49 	/**
50 	 * Gets the artist.
51 	 *
52 	 * @return the artist
53 	 */
getArtist()54 	public String getArtist();
55 
56 	/**
57 	 * Gets the comment.
58 	 *
59 	 * @return the comment
60 	 */
getComment()61 	public String getComment();
62 
63 	/**
64 	 * Gets the composer.
65 	 *
66 	 * @return the composer
67 	 */
getComposer()68 	public String getComposer();
69 
70 	/**
71 	 * Gets the genre.
72 	 *
73 	 * @return the genre
74 	 */
getGenre()75 	public String getGenre();
76 
77 	/**
78 	 * Gets the lyrics.
79 	 *
80 	 * @return the lyrics
81 	 */
getLyrics()82 	public String getLyrics();
83 
84 	/**
85 	 * Gets the title.
86 	 *
87 	 * @return the title
88 	 */
getTitle()89 	public String getTitle();
90 
91 	/**
92 	 * Gets the track number.
93 	 *
94 	 * @return the track number
95 	 */
getTrackNumber()96 	public int getTrackNumber();
97 
98 	/**
99 	 * Gets the year.
100 	 *
101 	 * @return the year
102 	 */
getYear()103 	public int getYear();
104 
105 	/**
106 	 * Gets the date.
107 	 *
108 	 * @return the date
109 	 */
getDate()110 	public BaseDateTime getDate();
111 
112 	/**
113 	 * Sets the album.
114 	 *
115 	 * @param album
116 	 *            the new album
117 	 */
setAlbum(String album)118 	public void setAlbum(String album);
119 
120 	/**
121 	 * Sets the album artist.
122 	 *
123 	 * @param albumArtist
124 	 *            the new album artist
125 	 */
setAlbumArtist(String albumArtist)126 	public void setAlbumArtist(String albumArtist);
127 
128 	/**
129 	 * Sets the artist.
130 	 *
131 	 * @param artist
132 	 *            the new artist
133 	 */
setArtist(String artist)134 	public void setArtist(String artist);
135 
136 	/**
137 	 * Sets the comment.
138 	 *
139 	 * @param comment
140 	 *            the new comment
141 	 */
setComment(String comment)142 	public void setComment(String comment);
143 
144 	/**
145 	 * Sets the composer.
146 	 *
147 	 * @param composer
148 	 *            the new composer
149 	 */
setComposer(String composer)150 	public void setComposer(String composer);
151 
152 	/**
153 	 * Sets the genre.
154 	 *
155 	 * @param genre
156 	 *            the new genre
157 	 */
setGenre(String genre)158 	public void setGenre(String genre);
159 
160 	/**
161 	 * Sets the lyrics.
162 	 *
163 	 * @param lyrics
164 	 *            the new lyrics
165 	 */
setLyrics(String lyrics)166 	public void setLyrics(String lyrics);
167 
168 	/**
169 	 * Sets the title.
170 	 *
171 	 * @param title
172 	 *            the new title
173 	 */
setTitle(String title)174 	public void setTitle(String title);
175 
176 	/**
177 	 * Sets the track number.
178 	 *
179 	 * @param tracknumber
180 	 *            the new track number
181 	 */
setTrackNumber(int tracknumber)182 	public void setTrackNumber(int tracknumber);
183 
184 	/**
185 	 * Sets the year.
186 	 *
187 	 * @param year
188 	 *            the new year
189 	 */
setYear(int year)190 	public void setYear(int year);
191 
192 	/**
193 	 * Sets the date.
194 	 *
195 	 * @param date
196 	 *            the new date
197 	 */
setDate(BaseDateTime date)198 	public void setDate(BaseDateTime date);
199 
200 	/**
201 	 * Returns true if this tag has an internal image, false otherwise
202 	 *
203 	 * @return true if this tag has an internal image, false otherwise
204 	 */
hasInternalImage()205 	public boolean hasInternalImage();
206 
207 	/**
208 	 * Sets if this tag has an internal image
209 	 *
210 	 * @param internalImage
211 	 *            if this tag has an internal image
212 	 */
setInternalImage(boolean internalImage)213 	public void setInternalImage(boolean internalImage);
214 
215 	/**
216 	 * @return the discNumber
217 	 */
getDiscNumber()218 	public int getDiscNumber();
219 
220 	/**
221 	 * @param discNumber
222 	 *            the discNumber to set
223 	 */
setDiscNumber(int discNumber)224 	public void setDiscNumber(int discNumber);
225 
226 	/**
227 	 * @return rating of object
228 	 */
getStars()229 	public int getStars();
230 
231 	/**
232 	 * @param stars
233 	 */
setStars(int stars)234 	public void setStars(int stars);
235 
236 }