package org.gdg.frisbee.android.api.model;
import android.support.annotation.StringRes;
import org.gdg.frisbee.android.R;
public class LeadMessage {
private final String mTitle;
private final Type mType;
private final String mDetails;
private String mLinkUrl;
private LeadMessage(Type type, final String title, final String details) {
this(type, title, details, null);
}
private LeadMessage(final Type type, final String title, String details, final String linkUrl) {
mTitle = title;
mDetails = details;
mType = type;
mLinkUrl = linkUrl;
}
public static LeadMessage newMessage(final String title, final String details) {
return new LeadMessage(Type.message, title, details);
}
public static LeadMessage newResource(final String title, final String details, final String linkUrl) {
return new LeadMessage(Type.resource, title, details, linkUrl);
}
public String getTitle() {
return mTitle;
}
public Type getType() {
return mType;
}
public String getLinkUrl() {
return mLinkUrl;
}
public String getDetails() {
return mDetails;
}
public enum Type {
message(R.string.message),
resource(R.string.resource);
@StringRes
private final int mName;
Type(@StringRes final int name) {
mName = name;
}
@StringRes
public int getName() {
return mName;
}
}
}