View Javadoc

1   package org.openprovenance.elmo;
2   import java.util.Set;
3   import java.net.URI;
4   import org.openprovenance.rdf.Account;
5   import org.openprovenance.rdf.Node;
6   import org.w3c.dom.Document;
7   import org.w3c.dom.Element;
8   import javax.xml.namespace.QName;
9   import org.openrdf.elmo.ElmoManager;
10  
11  
12  public class RdfValue extends org.openprovenance.model.Value implements HasFacade {
13  
14      ElmoManager manager;
15      String prefix;
16      QName qname;
17  
18      static int count=0;
19      
20      public RdfValue(ElmoManager manager, QName qname) {
21          this.manager=manager;
22          this.qname=qname;
23          this.prefix=qname.getNamespaceURI();
24          setId(qname.getLocalPart());
25      }
26      
27  
28      public RdfValue(ElmoManager manager, String prefix) {
29          this.manager=manager;
30          this.prefix=prefix;
31          setId("av_" + (count++));
32      }
33  
34      public void setId(String value) {
35          qname = new QName(prefix, value);
36          manager.designate(qname, org.openprovenance.rdf.AValue.class);
37      }
38  
39  
40  
41      public void setContent(Object value) {
42          super.setContent(value);
43          org.openprovenance.rdf.AValue r=findMyFacade();
44          if (value instanceof Element) {
45              r.setContent(new XMLLiteral(((Element)value).getOwnerDocument()));
46          } else {
47              r.setContent(value);
48          }
49      }
50  
51  
52      public void setEncoding(String encoding) {
53          super.setEncoding(encoding);
54          org.openprovenance.rdf.AValue r=findMyFacade();
55          r.setEncoding(URI.create(encoding));
56      }
57  
58      public QName getQName() {
59          return qname;
60      }
61  
62      public org.openprovenance.rdf.AValue findMyFacade() {
63          org.openprovenance.rdf.AValue r=(org.openprovenance.rdf.AValue)manager.find(getQName());
64          return r;
65      }
66  
67      public void setFields(Object content, String encoding) {
68          super.setContent(content);
69          super.setEncoding(encoding);
70      }
71  
72  }
73  
74  
75