public class MemoryStore extends java.lang.Object implements IStore
Constructor and Description |
---|
MemoryStore() |
Modifier and Type | Method and Description |
---|---|
void |
aboutToRenamedFile(java.io.File rootMediaDir,
java.io.File oldFile,
java.io.File newFile)
This is used when a file that holds a episode or film is about to be renamed
|
void |
cacheEpisode(java.io.File rootMediaDir,
java.io.File episodeFile,
java.io.File oldFileName,
IEpisode episode)
This does nothing as it's all done by the cacheSeason and cacheShow methods
|
void |
cacheFilm(java.io.File rootMediaDir,
java.io.File filmFile,
java.io.File oldFileName,
IFilm film,
java.lang.Integer part)
This is used to write a film to the store.
|
void |
cacheSeason(java.io.File rootMediaDir,
java.io.File episodeFile,
ISeason season)
This is used to write a season too the store.
|
void |
cacheShow(java.io.File rootMediaDir,
java.io.File episodeFile,
IShow show)
This is used to write a show too the store.
|
void |
fileDeleted(MediaDirectory dir,
java.io.File file)
This is called when a file is deleted from a media directory
|
boolean |
fileKnownByStore(MediaDirectory mediaDirectory,
java.io.File file)
Used to check that a media file is known by a store
|
void |
fileUpdated(MediaDirectory mediaDirectory,
java.io.File file)
This is called when a file is updated within a media directory.
|
IEpisode |
getEpisode(java.io.File rootMediaDir,
java.io.File episodeFile,
ISeason season,
java.util.List<java.lang.Integer> episodeNums)
This gets a episode from the store.
|
IEpisode |
getEpisode(MediaDirectory dir,
java.io.File file)
This is used to get a episode from a store via it's file name.
|
IFilm |
getFilm(java.io.File rootMediaDir,
java.io.File filmFile,
java.lang.String filmId)
Used to read a film from the store.
|
IFilm |
getFilm(MediaDirectory dir,
java.io.File file)
This is used to get a film from a store via it's file name.
|
java.lang.String |
getParameter(java.lang.String key)
Used to get the value of a source parameter.
|
ISeason |
getSeason(java.io.File rootMediaDir,
java.io.File episodeFile,
IShow show,
int seasonNum)
This will get the season from the store
|
Show |
getShow(java.io.File rootMediaDir,
java.io.File episodeFile,
java.lang.String showId)
This will get a show from the store.
|
IEpisode |
getSpecial(java.io.File rootMediaDir,
java.io.File episodeFile,
ISeason season,
java.util.List<java.lang.Integer> specialNumbers)
This gets a special episode from the store.
|
void |
init()
Called to initialise the stores and check all their resources can be found.
|
java.util.Collection<IEpisode> |
listEpisodes(MediaDirConfig dirConfig,
IProgressMonitor monitor)
This is used to list all the episodes within the store if the store supports the operation.
|
java.util.Collection<IFilm> |
listFilms(MediaDirConfig dirConfig,
IProgressMonitor monitor)
This is used to list all the films within the store if the store supports the operation.
|
void |
performedActions(MediaDirectory dir)
This is called after all the actions on all the media files have been performed so that
the store can clean up any stale data.
|
void |
renamedFile(java.io.File rootMediaDir,
java.io.File oldFile,
java.io.File newFile)
This will update all references of the old file to the new file
|
SearchResult |
searchMedia(java.lang.String name,
Mode mode,
java.lang.Integer part,
MediaDirConfig dirConfig,
java.io.File mediaFile)
Used to search for store for media
|
void |
setParameter(java.lang.String key,
java.lang.String value)
Used to set source parameters.
|
void |
upgrade(MediaDirectory mediaDirectory)
This is called to check if a upgrade is needed and perform the upgrade if required
|
public void cacheEpisode(java.io.File rootMediaDir, java.io.File episodeFile, java.io.File oldFileName, IEpisode episode) throws StoreException
cacheEpisode
in interface IStore
episodeFile
- the file witch the episode is stored inepisode
- The episode to write to the storerootMediaDir
- This is the directory which is the root of media, this can be the current directory if
it was not specified on the command line.oldFileName
- The name of the file before it was moved into the storeStoreException
- Thrown if their is a store exception problempublic void cacheSeason(java.io.File rootMediaDir, java.io.File episodeFile, ISeason season) throws StoreException
cacheSeason
in interface IStore
season
- The season too writeepisodeFile
- The file the episode is stored inrootMediaDir
- This is the directory which is the root of media, this can be the current directory if
it was not specified on the command line.StoreException
- Thrown if their is a problem with the sourcepublic void cacheShow(java.io.File rootMediaDir, java.io.File episodeFile, IShow show) throws StoreException
cacheShow
in interface IStore
episodeFile
- The file the episode is stored inshow
- The show too writerootMediaDir
- This is the directory which is the root of media, this can be the current directory if
it was not specified on the command line.StoreException
- Thrown if their is a problem with the sourcepublic IEpisode getEpisode(java.io.File rootMediaDir, java.io.File episodeFile, ISeason season, java.util.List<java.lang.Integer> episodeNums) throws StoreException, java.net.MalformedURLException, java.io.IOException
getEpisode
in interface IStore
rootMediaDir
- This is the directory which is the root of media, this can be the current directory if
it was not specified on the command line.episodeFile
- the file which the episode is stored inseason
- The season the episode belongs tooepisodeNums
- The numbers of the episode too getStoreException
- Thrown if their is a problem with the storejava.net.MalformedURLException
- Thrown if their is a problem creating URL'sjava.io.IOException
- Thrown if their is a I/O related problem.public IEpisode getSpecial(java.io.File rootMediaDir, java.io.File episodeFile, ISeason season, java.util.List<java.lang.Integer> specialNumbers) throws java.net.MalformedURLException, java.io.IOException, StoreException
getSpecial
in interface IStore
rootMediaDir
- This is the directory which is the root of media, this can be the current directory if
it was not specified on the command line.episodeFile
- the file which the episode is stored inseason
- The season the special episode belongs toospecialNumbers
- The numbers of the special episode too getjava.net.MalformedURLException
- Thrown if their is a problem creating URL'sjava.io.IOException
- Thrown if their is a I/O related problem.StoreException
- Thrown if their is a problem with the storepublic ISeason getSeason(java.io.File rootMediaDir, java.io.File episodeFile, IShow show, int seasonNum) throws StoreException, java.io.IOException
getSeason
in interface IStore
show
- The show the season belongs tooseasonNum
- The number of the season that is to be fetchedrootMediaDir
- This is the directory which is the root of media, this can be the current directory if
it was not specified on the command line.episodeFile
- the file which the episode is stored inStoreException
- Thrown if their is a problem with the sourcejava.io.IOException
- Thrown if their is a I/O related problem.public Show getShow(java.io.File rootMediaDir, java.io.File episodeFile, java.lang.String showId) throws StoreException, java.net.MalformedURLException, java.io.IOException
getShow
in interface IStore
episodeFile
- The file the episode is stored inshowId
- The id of the show to get.rootMediaDir
- This is the directory which is the root of media, this can be the current directory if
it was not specified on the command line.StoreException
- Thrown if their is a problem with the storejava.net.MalformedURLException
- Thrown if their is a problem creating URL'sjava.io.IOException
- Thrown if their is a I/O related problem.public SearchResult searchMedia(java.lang.String name, Mode mode, java.lang.Integer part, MediaDirConfig dirConfig, java.io.File mediaFile) throws StoreException
searchMedia
in interface IStore
name
- The search termmode
- The mode of the searchpart
- The part number to search fordirConfig
- The Media directory configurationmediaFile
- The media file the search is associated withStoreException
- Thrown if their is a problem with the storepublic void cacheFilm(java.io.File rootMediaDir, java.io.File filmFile, java.io.File oldFileName, IFilm film, java.lang.Integer part) throws StoreException
cacheFilm
in interface IStore
filmFile
- The file which the film is stored infilm
- The film to writerootMediaDir
- This is the directory which is the root of media, this can be the current directory if
it was not specified on the command line.oldFileName
- The name of the file before it was moved into the storepart
- The part number of the filmStoreException
- Thrown if their is a problem with the storepublic void renamedFile(java.io.File rootMediaDir, java.io.File oldFile, java.io.File newFile)
renamedFile
in interface IStore
oldFile
- The old filenewFile
- The new filerootMediaDir
- This is the directory which is the root of media, this can be the current directory if
it was not specified on the command line.public IFilm getFilm(java.io.File rootMediaDir, java.io.File filmFile, java.lang.String filmId) throws StoreException, java.net.MalformedURLException, java.io.IOException
getFilm
in interface IStore
filmFile
- The file the film is stored infilmId
- The id of the filmrootMediaDir
- This is the directory which is the root of media, this can be the current directory if
it was not specified on the command line.StoreException
- Thrown if their is a problem retrieving the datajava.net.MalformedURLException
- Thrown if their is a problem creating URL'sjava.io.IOException
- Thrown if their is a I/O related problem.public void setParameter(java.lang.String key, java.lang.String value)
Used to set source parameters. If the key is not supported by this source, then a SourceException
is thrown.
setParameter
in interface IStore
key
- The key of the parametervalue
- The value of the parameterpublic java.lang.String getParameter(java.lang.String key)
Used to get the value of a source parameter. If the key is not supported by this source, then a SourceException
is thrown.
getParameter
in interface IStore
key
- The key of the parameterpublic void performedActions(MediaDirectory dir)
performedActions
in interface IStore
dir
- The media directorypublic void fileDeleted(MediaDirectory dir, java.io.File file)
fileDeleted
in interface IStore
dir
- The media directoryfile
- The filepublic IEpisode getEpisode(MediaDirectory dir, java.io.File file) throws StoreException
getEpisode
in interface IStore
dir
- The media directoryfile
- The media fileStoreException
- Thrown if their are any problemspublic IFilm getFilm(MediaDirectory dir, java.io.File file) throws StoreException
getFilm
in interface IStore
dir
- The media directoryfile
- The media fileStoreException
- Thrown if their are any problemspublic void init() throws StoreException
init
in interface IStore
StoreException
- Thrown if their are any problemspublic java.util.Collection<IEpisode> listEpisodes(MediaDirConfig dirConfig, IProgressMonitor monitor)
listEpisodes
in interface IStore
dirConfig
- The media directory configurationmonitor
- The progress monitorpublic java.util.Collection<IFilm> listFilms(MediaDirConfig dirConfig, IProgressMonitor monitor)
public void upgrade(MediaDirectory mediaDirectory)
public void fileUpdated(MediaDirectory mediaDirectory, java.io.File file) throws StoreException
fileUpdated
in interface IStore
mediaDirectory
- The media directory the file belongs tofile
- The media fileStoreException
- Thrown if their are any problemspublic boolean fileKnownByStore(MediaDirectory mediaDirectory, java.io.File file) throws StoreException
fileKnownByStore
in interface IStore
mediaDirectory
- The media directoryfile
- The media file to checkStoreException
public void aboutToRenamedFile(java.io.File rootMediaDir, java.io.File oldFile, java.io.File newFile) throws StoreException
aboutToRenamedFile
in interface IStore
rootMediaDir
- This is the directory which is the root of media, this can be the current directory if
it was not specified on the command line.oldFile
- The old filenewFile
- The new fileStoreException
- Thrown if their is a problem renaming files