public Object getValue(Object data) {
Object value = null;
if (data instanceof XMLStreamReader) {
XMLStreamReader xmler = (XMLStreamReader) data;
if (isStringFamilyType()) {
value = vmMax > 1 ? TagUtil.getStringArrayTagAttribute(xmler, keyword, (String[]) defaultValue)
: TagUtil.getTagAttribute(xmler, keyword, (String) defaultValue);
} else if (TagType.DATE.equals(type) || TagType.TIME.equals(type) || TagType.DATETIME.equals(type)) {
value = vmMax > 1 ? TagUtil.getDatesFromElement(xmler, keyword, type, (TemporalAccessor[]) defaultValue)
: TagUtil.getDateFromElement(xmler, keyword, type, (TemporalAccessor) defaultValue);
} else if (TagType.INTEGER.equals(type)) {
value = vmMax > 1 ? TagUtil.getIntArrayTagAttribute(xmler, keyword, (int[]) defaultValue)
: TagUtil.getIntegerTagAttribute(xmler, keyword, (Integer) defaultValue);
} else if (TagType.FLOAT.equals(type)) {
value = vmMax > 1 ? TagUtil.getFloatArrayTagAttribute(xmler, keyword, (float[]) defaultValue)
: TagUtil.getFloatTagAttribute(xmler, keyword, (Float) defaultValue);
} else if (TagType.DOUBLE.equals(type)) {
value = vmMax > 1 ? TagUtil.getDoubleArrayTagAttribute(xmler, keyword, (double[]) defaultValue)
: TagUtil.getDoubleTagAttribute(xmler, keyword, (Double) defaultValue);
} else {
value = vmMax > 1 ? TagUtil.getStringArrayTagAttribute(xmler, keyword, (String[]) defaultValue)
: TagUtil.getTagAttribute(xmler, keyword, (String) defaultValue);
}
}
return value;
}