@Override public <T> T get(Class<T> clazz, LID subject) { ID id = identityService.getID(subject); return id != null ? get(clazz, id) : null; }
@Override public LID getLID(ID id) { return identityService.getLID(id); }
@Override public <T> List<T> getAll(Class<T> clazz, LID... subjects) { ID[] ids = new ID[subjects.length]; // TODO : bulk fetch for (int i = 0; i < ids.length; i++) { if (subjects[i] != null) { ids[i] = identityService.getID(subjects[i]); } } return getAll(clazz, ids); }
@Override public <T> List<T> findInstances(Class<T> clazz, LID lid) { ID id = identityService.getID(lid); if (id instanceof UID) { return findInstances(clazz, (UID) id); } else { throw new IllegalArgumentException("Blank nodes not supported"); } }
@Override @SuppressWarnings("unchecked") public ID getId(Object instance) { if (instance instanceof LID) { return identityService.getID((LID) instance); } else { MappedClass mappedClass = configuration.getMappedClass(getClass(assertMapped(instance))); if (instance.getClass().isEnum()) { return new UID(mappedClass.getUID().ns(), ((Enum) instance).name()); } else { BeanMap beanMap = toBeanMap(instance); return getId(mappedClass, beanMap); } } }
lid = new LID(id.toString()); return identityService.getID(lid); } else { ID rid = null;