Android Open Source - music-tag Node Item






From Project

Back to project page music-tag.

License

The source code is released under:

Apache License

If you think the Android project music-tag 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 binauld.pierre.musictag.item;
//from  w  w w.j  a v  a2 s. c om

import java.util.ArrayList;
import java.util.List;

import binauld.pierre.musictag.collection.MultipleBufferedList;

/**
 * Represent a folder in a library.
 */
public abstract class NodeItem extends ChildItem {

    private MultipleBufferedList<LibraryItem> children;
    private LoadingState state;
    private int invalidItemCount;

    public NodeItem() {
        this(null);
    }

    public NodeItem(NodeItem parent) {
        this.parent = parent;
        this.children = new MultipleBufferedList<>(new MultipleBufferedList.ListFactory<LibraryItem>() {
            public List<LibraryItem> buildEmptyList() {
                return new ArrayList<>();
            }
        });
        this.state = LoadingState.NOT_LOADED;
    }

    @Override
    public boolean isAudioItem() {
        return false;
    }

    /**
     * Get the maximum number of possible children.
     * @return The maximum number of possible children.
     */
    public abstract int getMaxChildren();

    /**
     * Get the number of children node.
     * @return The number of children node.
     */
    public int size() {
        return children.size();
    }

    /**
     * Get a child.
     * @param i Index of the child.
     * @return A child.
     */
    public LibraryItem getChild(int i) {
        return children.get(i);
    }

    /**
     * Get the loading state from the item.
     * @return The loading state.
     */
    public LoadingState getState() {
        return state;
    }

    /**
     * Set the loading state to the item.
     * @param state The loading state.
     */
    public void setState(LoadingState state) {
        this.state = state;
    }

    /**
     * Get the list of children for modification.
     * @return The list of children
     */
    public MultipleBufferedList<LibraryItem> getChildren() {
        return children;
    }

    /**
     * Set the count of invalid item found by a loader.
     * @param invalidItemCount The count of invalid item found.
     */
    public void setInvalidItemCount(int invalidItemCount) {
        this.invalidItemCount = invalidItemCount;
    }
    /**
     * Get the count of invalid item found by a loader.
     * @return The count of invalid item found.
     */
    public int getInvalidItemCount() {
        return invalidItemCount;
    }
}




Java Source Code List

binauld.pierre.musictag.ApplicationTest.java
binauld.pierre.musictag.activities.MainActivity.java
binauld.pierre.musictag.activities.SettingsActivity.java
binauld.pierre.musictag.activities.TagFormActivity.java
binauld.pierre.musictag.activities.TagSuggestionActivity.java
binauld.pierre.musictag.adapter.LibraryItemAdapter.java
binauld.pierre.musictag.adapter.SuggestionItemAdapter.java
binauld.pierre.musictag.adapter.SuggestionViewHolder.java
binauld.pierre.musictag.collection.LibraryItemComparator.java
binauld.pierre.musictag.collection.MultipleBufferedList.java
binauld.pierre.musictag.decoder.AudioFileBitmapDecoder.java
binauld.pierre.musictag.decoder.BitmapDecoder.java
binauld.pierre.musictag.decoder.ResourceBitmapDecoder.java
binauld.pierre.musictag.factory.FileFilterFactory.java
binauld.pierre.musictag.factory.LibraryItemFactory.java
binauld.pierre.musictag.fragments.SettingsFragment.java
binauld.pierre.musictag.helper.LibraryItemFactoryHelper.java
binauld.pierre.musictag.helper.LoaderHelper.java
binauld.pierre.musictag.io.ArtworkLoader.java
binauld.pierre.musictag.io.AsyncDrawable.java
binauld.pierre.musictag.io.DefaultArtworkLoader.java
binauld.pierre.musictag.io.LibraryItemLoaderManager.java
binauld.pierre.musictag.io.LibraryItemLoader.java
binauld.pierre.musictag.io.SuggestionLoader.java
binauld.pierre.musictag.item.AudioItem.java
binauld.pierre.musictag.item.ChildItem.java
binauld.pierre.musictag.item.FolderItem.java
binauld.pierre.musictag.item.LibraryItem.java
binauld.pierre.musictag.item.LoadingState.java
binauld.pierre.musictag.item.NodeItem.java
binauld.pierre.musictag.item.SuggestionItem.java
binauld.pierre.musictag.service.ArtworkService.java
binauld.pierre.musictag.service.CacheService.java
binauld.pierre.musictag.service.Locator.java
binauld.pierre.musictag.tag.Id3TagParcelable.java
binauld.pierre.musictag.tag.Id3Tag.java
binauld.pierre.musictag.tag.SupportedTag.java
binauld.pierre.musictag.widget.AnimatedProgressBar.java