@Override public List<ID> saveAll(Object... instances) { List<ID> ids = new ArrayList<ID>(instances.length); seen = new HashSet<Object>(instances.length * 3); for (Object instance : instances) { ids.add(save(assertMapped(instance))); } seen = null; if (flushMode == FlushMode.ALWAYS) { flush(); } return ids; }
@Override public void deleteAll(Object... objects) { for (Object object : objects) { deleteInternal(assertMapped(object)); } if (flushMode == FlushMode.ALWAYS) { flush(); } }
@Override public void delete(Object instance) { deleteInternal(assertMapped(instance)); if (flushMode == FlushMode.ALWAYS) { flush(); } }
@Override public ID save(Object instance) { boolean flush = false; if (seen == null) { seen = new HashSet<Object>(); flush = true; } assertMapped(instance); assertHasIdProperty(instance); ID subject = toRDF(instance, null); if (flush) { seen = null; if (flushMode == FlushMode.ALWAYS) { flush(); } } return subject; }
@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); } } }