org.solovyev.android.view.ListRange Maven / Gradle / Ivy
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