package com.prolificinteractive.materialcalendarview.format;
import android.text.SpannableStringBuilder;
import com.prolificinteractive.materialcalendarview.CalendarDay;
/**
* Use an array to generate a month/year label
*/
public class MonthArrayTitleFormatter implements TitleFormatter {
private final CharSequence[] monthLabels;
/**
* Format using an array of month labels
*
* @param monthLabels an array of 12 labels to use for months, starting with January
*/
public MonthArrayTitleFormatter(CharSequence[] monthLabels) {
if (monthLabels == null) {
throw new IllegalArgumentException("Label array cannot be null");
}
if (monthLabels.length < 12) {
throw new IllegalArgumentException("Label array is too short");
}
this.monthLabels = monthLabels;
}
/**
* {@inheritDoc}
*/
@Override
public CharSequence format(CalendarDay day) {
return new SpannableStringBuilder()
.append(monthLabels[day.getMonth()])
.append(" ")
.append(String.valueOf(day.getYear()));
}
}