Android Open Source - unmp Playlist Parser






From Project

Back to project page unmp.

License

The source code is released under:

MIT License

If you think the Android project unmp listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.parnswir.unmp.playlist.parser;
/*ww  w . j ava2  s  .co  m*/
import java.io.File;
import java.util.HashMap;
import java.util.Map;

import android.database.sqlite.SQLiteDatabase;

import com.parnswir.unmp.core.Utils;
import com.parnswir.unmp.playlist.Playlist;

public class PlaylistParser {
  
  private static final Map<String, Class<?>> FILE_HANDLERS = new HashMap<String, Class<?>>();
  static{
    FILE_HANDLERS.put("wpl", WPLParser.class);
  }
  
  protected String fileName;
  protected String directory;
  protected Playlist playlist;
  protected SQLiteDatabase database;
  
  private static PlaylistParser getPlaylistHandlerFor(File file, SQLiteDatabase db) {
    PlaylistParser result = new PlaylistParser();
    String extension = Utils.getFileExt(file.getName());
    if (FILE_HANDLERS.containsKey(extension)) {
      try {
        result = (PlaylistParser) FILE_HANDLERS.get(extension).newInstance();
      } catch (InstantiationException e) {
        e.printStackTrace();
      } catch (IllegalAccessException e) {
        e.printStackTrace();
      }
    }
    return result;
  }
  
  public static Playlist parse(String path, SQLiteDatabase db) throws PlaylistParserException {
    PlaylistParser parser = getPlaylistHandlerFor(new File(path), db);
    parser.init(path, db);
    return parser.buildPlaylist();
  }
  
  public void init(String path, SQLiteDatabase db)  {
    File file = new File(path);
    database = db;
    fileName = file.getAbsolutePath();
    directory = file.getParentFile().getAbsolutePath() + "/";
    playlist = new Playlist();
    playlist.setName(file.getName().replace("." + Utils.getFileExt(fileName), ""));
  }
  
  public Playlist buildPlaylist() throws PlaylistParserException {
    return new Playlist();
  }
  
    public String getName() {
      return playlist.getName();
    }

  public static class PlaylistParserException extends Exception {

    private static final long serialVersionUID = 4328611493780253444L;

    public PlaylistParserException(String message) {
      super(message);
    }
    
  }  
}




Java Source Code List

com.parnswir.unmp.AbstractFragment.java
com.parnswir.unmp.DirectoryChooserDialog.java
com.parnswir.unmp.DrawerActivity.java
com.parnswir.unmp.DrawerState.java
com.parnswir.unmp.LibraryFragment.java
com.parnswir.unmp.ListFragment.java
com.parnswir.unmp.MainActivity.java
com.parnswir.unmp.PlayerFragment.java
com.parnswir.unmp.PlayerService.java
com.parnswir.unmp.PlaylistsFragment.java
com.parnswir.unmp.SplashActivity.java
com.parnswir.unmp.core.AlbumCoverRetriever.java
com.parnswir.unmp.core.C.java
com.parnswir.unmp.core.CoverList.java
com.parnswir.unmp.core.DatabaseUtils.java
com.parnswir.unmp.core.IceCreamSandwichNotificationBuilder.java
com.parnswir.unmp.core.IconicAdapter.java
com.parnswir.unmp.core.ImageLoader.java
com.parnswir.unmp.core.ImageRetriever.java
com.parnswir.unmp.core.JellybeanNotificationBuilder.java
com.parnswir.unmp.core.MemoryCache.java
com.parnswir.unmp.core.MusicDatabaseHelper.java
com.parnswir.unmp.core.NotificationBuilder.java
com.parnswir.unmp.core.ProgressObservable.java
com.parnswir.unmp.core.ProjectResources.java
com.parnswir.unmp.core.Utils.java
com.parnswir.unmp.media.DefaultFileHandler.java
com.parnswir.unmp.media.FileAdditionThread.java
com.parnswir.unmp.media.FileCrawlerThread.java
com.parnswir.unmp.media.FileHandler.java
com.parnswir.unmp.media.FileRemovalThread.java
com.parnswir.unmp.media.MP3Handler.java
com.parnswir.unmp.media.MediaInformation.java
com.parnswir.unmp.media.MediaPlayerStatus.java
com.parnswir.unmp.media.PlaylistHandler.java
com.parnswir.unmp.playlist.MediaFile.java
com.parnswir.unmp.playlist.PlaylistElement.java
com.parnswir.unmp.playlist.Playlist.java
com.parnswir.unmp.playlist.parser.PlaylistParser.java
com.parnswir.unmp.playlist.parser.WPLParser.java