All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.solovyev.android.view.ListRange Maven / Gradle / Ivy

There is a newer version: 1.1.18
Show newest version
package org.solovyev.android.view;

import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.solovyev.common.text.Formatter;

import java.util.List;

/**
 * User: serso
 * Date: 8/10/12
 * Time: 1:55 AM
 */
public class ListRange implements Picker.Range {

    @NotNull
    private List elements;

    private int startPosition;

    @Nullable
    private Formatter formatter;

    public ListRange(@NotNull List elements, @Nullable T selected) {
        this.elements = elements;
        this.startPosition = elements.indexOf(selected);
        if ( this.startPosition < 0 ) {
            this.startPosition = 0;
        }
        this.formatter = null;
    }

    public ListRange(@NotNull List elements, @Nullable T selected, @Nullable Formatter formatter) {
        this(elements, selected);
        this.formatter = formatter;
    }

    @Override
    public int getStartPosition() {
        return this.startPosition;
    }

    @Override
    public int getCount() {
        return this.elements.size();
    }

    @NotNull
    @Override
    public String getStringValueAt(int position) {
        final T value = getValueAt(position);
        return formatter == null ? value.toString() : formatter.formatValue(value);
    }

    @NotNull
    @Override
    public T getValueAt(int position) {
        return this.elements.get(position);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy