package org.robolectric.res;
public class TypedResource<T> {
private final T data;
private final ResType resType;
private final String qualifiers;
private final XmlContext xmlContext;
public TypedResource(T data, ResType resType, XmlContext xmlContext) {
this.data = data;
this.resType = resType;
this.xmlContext = xmlContext;
String qualifiers = xmlContext.getQualifiers();
this.qualifiers = qualifiers == null ? "--" : "-" + qualifiers + "-";
}
public T getData() {
return data;
}
public ResType getResType() {
return resType;
}
public String getQualifiers() {
return qualifiers;
}
public XmlContext getXmlContext() {
return xmlContext;
}
public String asString() {
T data = getData();
return data instanceof String ? (String) data : null;
}
public boolean isFile() {
return false;
}
public boolean isReference() {
Object data = getData();
if (data instanceof String) {
String s = (String) data;
return !s.isEmpty() && s.charAt(0) == '@';
}
return false;
}
@Override public String toString() {
return getClass().getSimpleName() + "{" +
"values=" + data +
", resType=" + resType +
", xmlContext=" + xmlContext +
'}';
}
public boolean isXml() {
return false;
}
}