예제 #1
0
 @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));
 }
예제 #2
0
 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;
 }
예제 #3
0
 RDFObject cache(RDFObject object) {
   cachedObjects.put(object.getResource(), object);
   return object;
 }
예제 #4
0
 /** 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));
 }