Android Open Source - RoboBinding-album-sample Create Edit Album Presentation Model






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.presentationmodel;
//w  w  w.j a  v  a 2 s  . c om
import org.robobinding.albumsample.model.Album;
import org.robobinding.albumsample.store.AlbumStore;
import org.robobinding.annotation.DependsOnStateOf;
import org.robobinding.annotation.PresentationModel;

/**
 * @author Cheng Wei
 * @author Robert Taylor
 * @since 1.0
 */
@PresentationModel
public class CreateEditAlbumPresentationModel {
    private static final String CLASSICAL = "classical";

    private final CreateEditAlbumView view;
    private final AlbumStore albumStore;
    private final Album.Builder albumBuilder;

    public CreateEditAlbumPresentationModel(CreateEditAlbumView view, AlbumStore albumStore,
                                            Album.Builder albumBuilder) {
        this.view = view;
        this.albumStore = albumStore;
        this.albumBuilder = albumBuilder;
    }

    public void save() {
        albumStore.save(albumBuilder.create());
        view.finishActivity();
    }

    public String getTitle() {
        return albumBuilder.getTitle();
    }

    public void setTitle(String title) {
        albumBuilder.setTitle(title);
    }

    public String getArtist() {
        return albumBuilder.getArtist();
    }

    public void setArtist(String artist) {
        albumBuilder.setArtist(artist);
    }

    public boolean isClassical() {
        return albumBuilder.isClassical();
    }

    public void setClassical(boolean classical) {
        albumBuilder.setClassical(classical);
    }

    @DependsOnStateOf(CLASSICAL)
    public boolean isComposerEnabled() {
        return isClassical();
    }

    public String getComposer() {
        return albumBuilder.getComposer();
    }

    public void setComposer(String composer) {
        albumBuilder.setComposer(composer);
    }

    @DependsOnStateOf(CLASSICAL)
    public String getWindowTitle() {
        if (albumBuilder.isNew())
            return view.getCreateAlbumTitle();

        return isClassical() ? "Edit Classical Album" : "Edit Album";
    }
}




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