aboutsummaryrefslogtreecommitdiff
path: root/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/MediaFile.java
diff options
context:
space:
mode:
Diffstat (limited to 'subsonic-main/src/main/java/net/sourceforge/subsonic/domain/MediaFile.java')
-rw-r--r--subsonic-main/src/main/java/net/sourceforge/subsonic/domain/MediaFile.java449
1 files changed, 0 insertions, 449 deletions
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/MediaFile.java b/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/MediaFile.java
deleted file mode 100644
index 4f315028..00000000
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/MediaFile.java
+++ /dev/null
@@ -1,449 +0,0 @@
-/*
- This file is part of Subsonic.
-
- Subsonic is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- Subsonic is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Subsonic. If not, see <http://www.gnu.org/licenses/>.
-
- Copyright 2009 (C) Sindre Mehus
- */
-package net.sourceforge.subsonic.domain;
-
-import net.sourceforge.subsonic.util.FileUtil;
-import org.apache.commons.io.FilenameUtils;
-
-import java.io.File;
-import java.util.Date;
-
-/**
- * A media file (audio, video or directory) with an assortment of its meta data.
- *
- * @author Sindre Mehus
- * @version $Id$
- */
-public class MediaFile {
-
- private int id;
- private String path;
- private String folder;
- private MediaType mediaType;
- private String format;
- private String title;
- private String albumName;
- private String artist;
- private String albumArtist;
- private Integer discNumber;
- private Integer trackNumber;
- private Integer year;
- private String genre;
- private Integer bitRate;
- private boolean variableBitRate;
- private Integer durationSeconds;
- private Long fileSize;
- private Integer width;
- private Integer height;
- private String coverArtPath;
- private String parentPath;
- private int playCount;
- private Date lastPlayed;
- private String comment;
- private Date created;
- private Date changed;
- private Date lastScanned;
- private Date starredDate;
- private Date childrenLastUpdated;
- private boolean present;
-
- public MediaFile(int id, String path, String folder, MediaType mediaType, String format, String title,
- String albumName, String artist, String albumArtist, Integer discNumber, Integer trackNumber, Integer year, String genre, Integer bitRate,
- boolean variableBitRate, Integer durationSeconds, Long fileSize, Integer width, Integer height, String coverArtPath,
- String parentPath, int playCount, Date lastPlayed, String comment, Date created, Date changed, Date lastScanned,
- Date childrenLastUpdated, boolean present) {
- this.id = id;
- this.path = path;
- this.folder = folder;
- this.mediaType = mediaType;
- this.format = format;
- this.title = title;
- this.albumName = albumName;
- this.artist = artist;
- this.albumArtist = albumArtist;
- this.discNumber = discNumber;
- this.trackNumber = trackNumber;
- this.year = year;
- this.genre = genre;
- this.bitRate = bitRate;
- this.variableBitRate = variableBitRate;
- this.durationSeconds = durationSeconds;
- this.fileSize = fileSize;
- this.width = width;
- this.height = height;
- this.coverArtPath = coverArtPath;
- this.parentPath = parentPath;
- this.playCount = playCount;
- this.lastPlayed = lastPlayed;
- this.comment = comment;
- this.created = created;
- this.changed = changed;
- this.lastScanned = lastScanned;
- this.childrenLastUpdated = childrenLastUpdated;
- this.present = present;
- }
-
- public MediaFile() {
- }
-
- public int getId() {
- return id;
- }
-
- public void setId(int id) {
- this.id = id;
- }
-
- public String getPath() {
- return path;
- }
-
- public void setPath(String path) {
- this.path = path;
- }
-
- public String getFolder() {
- return folder;
- }
-
- public void setFolder(String folder) {
- this.folder = folder;
- }
-
- public File getFile() {
- // TODO: Optimize
- return new File(path);
- }
-
- public boolean exists() {
- return FileUtil.exists(getFile());
- }
-
- public MediaType getMediaType() {
- return mediaType;
- }
-
- public void setMediaType(MediaType mediaType) {
- this.mediaType = mediaType;
- }
-
- public boolean isVideo() {
- return mediaType == MediaType.VIDEO;
- }
-
- public boolean isAudio() {
- return mediaType == MediaType.MUSIC || mediaType == MediaType.AUDIOBOOK || mediaType == MediaType.PODCAST;
- }
-
- public String getFormat() {
- return format;
- }
-
- public void setFormat(String format) {
- this.format = format;
- }
-
- public boolean isDirectory() {
- return !isFile();
- }
-
- public boolean isFile() {
- return mediaType != MediaType.DIRECTORY && mediaType != MediaType.ALBUM;
- }
-
- public boolean isAlbum() {
- return mediaType == MediaType.ALBUM;
- }
-
- public String getTitle() {
- return title;
- }
-
- public void setTitle(String title) {
- this.title = title;
- }
-
- public String getAlbumName() {
- return albumName;
- }
-
- public void setAlbumName(String album) {
- this.albumName = album;
- }
-
- public String getArtist() {
- return artist;
- }
-
- public void setArtist(String artist) {
- this.artist = artist;
- }
-
- public String getAlbumArtist() {
- return albumArtist;
- }
-
- public void setAlbumArtist(String albumArtist) {
- this.albumArtist = albumArtist;
- }
-
- public String getName() {
- if (isFile()) {
- return title != null ? title : FilenameUtils.getBaseName(path);
- }
-
- return FilenameUtils.getName(path);
- }
-
- public Integer getDiscNumber() {
- return discNumber;
- }
-
- public void setDiscNumber(Integer discNumber) {
- this.discNumber = discNumber;
- }
-
- public Integer getTrackNumber() {
- return trackNumber;
- }
-
- public void setTrackNumber(Integer trackNumber) {
- this.trackNumber = trackNumber;
- }
-
- public Integer getYear() {
- return year;
- }
-
- public void setYear(Integer year) {
- this.year = year;
- }
-
- public String getGenre() {
- return genre;
- }
-
- public void setGenre(String genre) {
- this.genre = genre;
- }
-
- public Integer getBitRate() {
- return bitRate;
- }
-
- public void setBitRate(Integer bitRate) {
- this.bitRate = bitRate;
- }
-
- public boolean isVariableBitRate() {
- return variableBitRate;
- }
-
- public void setVariableBitRate(boolean variableBitRate) {
- this.variableBitRate = variableBitRate;
- }
-
- public Integer getDurationSeconds() {
- return durationSeconds;
- }
-
- public void setDurationSeconds(Integer durationSeconds) {
- this.durationSeconds = durationSeconds;
- }
-
- public String getDurationString() {
- if (durationSeconds == null) {
- return null;
- }
-
- StringBuilder result = new StringBuilder(8);
-
- int seconds = durationSeconds;
-
- int hours = seconds / 3600;
- seconds -= hours * 3600;
-
- int minutes = seconds / 60;
- seconds -= minutes * 60;
-
- if (hours > 0) {
- result.append(hours).append(':');
- if (minutes < 10) {
- result.append('0');
- }
- }
-
- result.append(minutes).append(':');
- if (seconds < 10) {
- result.append('0');
- }
- result.append(seconds);
-
- return result.toString();
- }
-
- public Long getFileSize() {
- return fileSize;
- }
-
- public void setFileSize(Long fileSize) {
- this.fileSize = fileSize;
- }
-
- public Integer getWidth() {
- return width;
- }
-
- public void setWidth(Integer width) {
- this.width = width;
- }
-
- public Integer getHeight() {
- return height;
- }
-
- public void setHeight(Integer height) {
- this.height = height;
- }
-
- public String getCoverArtPath() {
- return coverArtPath;
- }
-
- public void setCoverArtPath(String coverArtPath) {
- this.coverArtPath = coverArtPath;
- }
-
-
- public String getParentPath() {
- return parentPath;
- }
-
- public void setParentPath(String parentPath) {
- this.parentPath = parentPath;
- }
-
- public File getParentFile() {
- return getFile().getParentFile();
- }
-
- public int getPlayCount() {
- return playCount;
- }
-
- public void setPlayCount(int playCount) {
- this.playCount = playCount;
- }
-
- public Date getLastPlayed() {
- return lastPlayed;
- }
-
- public void setLastPlayed(Date lastPlayed) {
- this.lastPlayed = lastPlayed;
- }
-
- public String getComment() {
- return comment;
- }
-
- public void setComment(String comment) {
- this.comment = comment;
- }
-
- public Date getCreated() {
- return created;
- }
-
- public void setCreated(Date created) {
- this.created = created;
- }
-
- public Date getChanged() {
- return changed;
- }
-
- public void setChanged(Date changed) {
- this.changed = changed;
- }
-
- public Date getLastScanned() {
- return lastScanned;
- }
-
- public void setLastScanned(Date lastScanned) {
- this.lastScanned = lastScanned;
- }
-
- public Date getStarredDate() {
- return starredDate;
- }
-
- public void setStarredDate(Date starredDate) {
- this.starredDate = starredDate;
- }
-
- /**
- * Returns when the children was last updated in the database.
- */
- public Date getChildrenLastUpdated() {
- return childrenLastUpdated;
- }
-
- public void setChildrenLastUpdated(Date childrenLastUpdated) {
- this.childrenLastUpdated = childrenLastUpdated;
- }
-
- public boolean isPresent() {
- return present;
- }
-
- public void setPresent(boolean present) {
- this.present = present;
- }
-
- @Override
- public boolean equals(Object o) {
- return o instanceof MediaFile && ((MediaFile) o).path.equals(path);
- }
-
- @Override
- public int hashCode() {
- return path.hashCode();
- }
-
- public File getCoverArtFile() {
- // TODO: Optimize
- return coverArtPath == null ? null : new File(coverArtPath);
- }
-
- @Override
- public String toString() {
- return getName();
- }
-
- public static enum MediaType {
- MUSIC,
- PODCAST,
- AUDIOBOOK,
- VIDEO,
- DIRECTORY,
- ALBUM
- }
-}