@SuppressWarnings("unchecked") public <T> T refresh(T object) throws RepositoryException { Resource resource = findResource(object); if (object instanceof Refreshable) { ((Refreshable) object).refresh(); } Set<URI> types = this.types.getTypes(resource); Class<?> proxy = of.getObjectClass(resource, types); RDFObject cached = cached(resource); if (cached != null && cached != object && cached instanceof Refreshable) { ((Refreshable) cached).refresh(); } if (cached != null && cached.getClass().equals(proxy)) return (T) cached; return (T) cache(of.createBean(resource, proxy)); }
public boolean equalsStructurally(RDFObject object) { if (object instanceof RDFList) { RDFList list = (RDFList) object; if (getValues().size() == list.getValues().size()) { Iterator it = getValues().iterator(); for (Iterator listIt = list.getValues().iterator(); listIt.hasNext(); ) { OWLModel model = getOWLModel(); RDFObject curListObj = model.asRDFObject(listIt.next()); RDFObject curThisObj = model.asRDFObject(it.next()); if (curListObj != null && curThisObj != null) { if (curListObj.equalsStructurally(curThisObj) == false) { return false; } } else { if (curListObj != curThisObj) { return false; } } } return true; } } return false; }
RDFObject cache(RDFObject object) { cachedObjects.put(object.getResource(), object); return object; }
/** Returns a single object that is presumed to have the given rdf:types. */ public Object getObject(Set<URI> types, Resource resource) { Class<?> proxy = of.getObjectClass(resource, types); RDFObject cached = cached(resource); if (cached != null && cached.getClass().equals(proxy)) return cached; return cache(of.createBean(resource, proxy)); }