import javax.xml.namespace.QName;
import org.argeo.api.acr.ContentName;
+import org.argeo.api.acr.CrAttributeType;
import org.argeo.api.acr.CrName;
import org.argeo.api.acr.NamespaceUtils;
import org.argeo.api.acr.spi.ContentProvider;
Object value = doGetProperties().get(attrName);
if (value == null)
return Optional.empty();
- // TODO deal with type and multiple
- return Optional.of((A) value);
+ Optional<A> res = CrAttributeType.cast(clss, value);
+ if (res.isEmpty())
+ return Optional.of((A) value);
+ else
+ return res;
}
@Override
}
@Override
- public List<QName> getTypes() {
+ public List<QName> getContentClasses() {
Dictionary<String, Object> properties = doGetProperties();
List<QName> contentClasses = new ArrayList<>();
String objectClass = properties.get(LdapAttrs.objectClass.name()).toString();
return provider;
}
-
}