package net.xpece.material.navigationdrawer.descriptors;
import android.content.Context;
import android.support.annotation.StringRes;
import java.util.ArrayList;
import java.util.List;
/**
* Created by pechanecjr on 14. 12. 2014.
*/
public class NavigationSectionDescriptor extends ArrayList<CompositeNavigationItemDescriptor> {
private String heading;
@StringRes
private int headingId;
public NavigationSectionDescriptor() {
}
public NavigationSectionDescriptor heading(String heading) {
this.heading = heading;
this.headingId = 0;
return this;
}
public NavigationSectionDescriptor heading(@StringRes int heading) {
this.headingId = heading;
this.heading = null;
return this;
}
public NavigationSectionDescriptor addItems(List<? extends CompositeNavigationItemDescriptor> items) {
this.addAll(items);
return this;
}
public NavigationSectionDescriptor addItem(CompositeNavigationItemDescriptor item) {
this.add(item);
return this;
}
public String getHeading(Context context) {
if (headingId != 0) {
return context.getString(headingId);
} else {
return heading;
}
}
public boolean hasHeading() {
return heading != null || headingId != 0;
}
@Override
public String toString() {
return "NavigationSectionDescriptor{" +
(heading == null ? "" : "heading='" + heading + '\'') +
(headingId == 0 ? "" : ", headingId=" + headingId) +
", items=" + super.toString() +
'}';
}
}