import javax.xml.namespace.QName;
import org.argeo.api.acr.Content;
+import org.argeo.api.acr.CrAttributeType;
import org.argeo.api.acr.CrName;
import org.argeo.api.acr.NamespaceUtils;
import org.argeo.api.acr.spi.ProvidedContent;
if (value == null)
return new ArrayList<>();
if (value instanceof List) {
- if (isDefaultAttrTypeRequested(clss))
+ if (clss.isAssignableFrom(Object.class))
return (List<A>) value;
List<A> res = new ArrayList<>();
List<?> lst = (List<?>) value;
for (Object o : lst) {
- A item = clss.isAssignableFrom(String.class) ? (A) o.toString() : (A) o;
+ A item = CrAttributeType.cast(clss, o).get();
res.add(item);
}
return res;
} else {// singleton
-// try {
- A res = (A) value;
+ A res = CrAttributeType.cast(clss, value).get();
return Collections.singletonList(res);
-// } catch (ClassCastException e) {
-// return Optional.empty();
-// }
}
}
/*
* UTILITIES
*/
- protected boolean isDefaultAttrTypeRequested(Class<?> clss) {
- // check whether clss is Object.class
- return clss.isAssignableFrom(Object.class);
- }
+// protected boolean isDefaultAttrTypeRequested(Class<?> clss) {
+// // check whether clss is Object.class
+// return clss.isAssignableFrom(Object.class);
+// }
// @Override
// public String toString() {
@Override
public <A> Optional<A> get(QName key, Class<A> clss) {
- return null;
+ return Optional.empty();
}
protected void removeAttr(QName key) {