Android Open Source - RoboBinding-album-sample Memory Album Store






From Project

Back to project page RoboBinding-album-sample.

License

The source code is released under:

Apache License

If you think the Android project RoboBinding-album-sample 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 org.robobinding.albumsample.store;
/*from   w  w  w . j  a  v a  2  s  .  co m*/
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

import org.robobinding.albumsample.model.Album;

/**
 * 
 * @since 1.0
 * @version $Revision: 1.0 $
 * @author Cheng Wei
 */
public class MemoryAlbumStore implements AlbumStore {
    private List<Album> albums;
    public MemoryAlbumStore() {
  albums = new ArrayList<Album>();
    }
    
    @Override
    public Album get(long albumId) {
  for (Album album : albums) {
      if (album.getId() == albumId)
    return album;
  }

  throw new IllegalArgumentException("No such album for id: " + albumId);
    }

    @Override
    public Album getByIndex(int position) {
        return albums.get(position);
    }

    @Override
    public List<Album> getAll() {
        return Collections.unmodifiableList(albums);
    }

    @Override
    public void save(Album album) {
  if (album.isNew()) {
      album.setId(nextId());
      albums.add(album);
  }

  int index = albums.indexOf(album);
  albums.remove(index);
  albums.add(index, album);
    }

    private long nextId() {
  return albums.size() + 1;
    }

    @Override
    public void delete(Album album) {
        albums.remove(album);
    }

    @Override
    public void clear() {
  albums.clear();
    }
}




Java Source Code List

org.robobinding.albumsample.activity.AbstractActivity.java
org.robobinding.albumsample.activity.AlbumApp.java
org.robobinding.albumsample.activity.CreateEditAlbumActivity.java
org.robobinding.albumsample.activity.DeleteAlbumDialog.java
org.robobinding.albumsample.activity.HomeActivity.java
org.robobinding.albumsample.activity.TestData.java
org.robobinding.albumsample.activity.ViewAlbumActivity.java
org.robobinding.albumsample.activity.ViewAlbumsActivity.java
org.robobinding.albumsample.model.Album.java
org.robobinding.albumsample.presentationmodel.AlbumItemPresentationModel.java
org.robobinding.albumsample.presentationmodel.CreateEditAlbumPresentationModel.java
org.robobinding.albumsample.presentationmodel.CreateEditAlbumView.java
org.robobinding.albumsample.presentationmodel.DeleteAlbumPresentationModel.java
org.robobinding.albumsample.presentationmodel.DeleteAlbumView.java
org.robobinding.albumsample.presentationmodel.HomePresentationModel.java
org.robobinding.albumsample.presentationmodel.HomeView.java
org.robobinding.albumsample.presentationmodel.ViewAlbumPresentationModel.java
org.robobinding.albumsample.presentationmodel.ViewAlbumView.java
org.robobinding.albumsample.presentationmodel.ViewAlbumsPresentationModel.java
org.robobinding.albumsample.presentationmodel.ViewAlbumsView.java
org.robobinding.albumsample.store.AlbumStore.java
org.robobinding.albumsample.store.MemoryAlbumStore.java
org.robobinding.albumsampletest.AbstractAlbumsTest.java
org.robobinding.albumsampletest.AbstractSampleAppTest.java
org.robobinding.albumsampletest.AlbumTestData.java
org.robobinding.albumsampletest.CreateEditAlbumActivityTest.java
org.robobinding.albumsampletest.DeleteAlbumActivityTest.java
org.robobinding.albumsampletest.ViewAlbumActivityTest.java
org.robobinding.albumsampletest.ViewAlbumsActivityTest.java