package com.dwdesign.tweetings.model; import static com.dwdesign.tweetings.util.Utils.bundleEquals; import static com.dwdesign.tweetings.util.Utils.classEquals; import static com.dwdesign.tweetings.util.Utils.objectEquals; import android.os.Bundle; import android.support.v4.app.Fragment; public class TabSpec { public final String name; public Object icon; public final Class<? extends Fragment> cls; public final Bundle args; public final int position; public TabSpec(final String name, final Object icon, final Class<? extends Fragment> cls, final Bundle args, final int position) { if (cls == null) throw new IllegalArgumentException("Fragment cannot be null!"); if (name == null && icon == null) throw new IllegalArgumentException("You must specify a name or icon for this tab!"); this.name = name; this.icon = icon; this.cls = cls; this.args = args; this.position = position; } public void setIcon(Object icon) { this.icon = icon; } @Override public boolean equals(final Object o) { if (!(o instanceof TabSpec)) return false; final TabSpec spec = (TabSpec) o; return objectEquals(name, spec.name) && objectEquals(icon, spec.icon) && classEquals(cls, spec.cls) && bundleEquals(args, spec.args) && position == spec.position; } }