| 1 package org.ozoneDB.xml.dom4j.o3impl; 9 10 import org.dom4j.*; 11 import org.ozoneDB.OzoneCompatible; 12 import org.ozoneDB.OzoneInterface; 13 import org.ozoneDB.OzoneRemote; 14 import org.ozoneDB.OzoneRemoteException; 15 import org.ozoneDB.xml.dom4j.OzoneAttribute; 16 17 21 public class OzoneAttributeImpl extends DefaultAttribute implements OzoneAttribute, OzoneCompatible { 22 23 final static long serialVersionUID = 1L; 24 25 public static OzoneAttribute create(OzoneInterface db, QName qname) { 26 return (OzoneAttribute) db.createObject(OzoneAttributeImpl.class, 27 new Class [] {QName.class}, 28 new Object []{qname}); 29 } 30 31 public OzoneAttributeImpl(QName qname) { 32 super(qname); 33 } 34 35 public static OzoneAttribute create(OzoneInterface db, QName qname, String value) { 36 final Class [] signature = new Class [] {QName.class, String .class}; 37 System.out.println("creating OzoneAttribute: qname=" + qname + " , value=" + value); 38 Object obj = db.createObject(OzoneAttributeImpl.class, 39 signature, 40 new Object []{qname, value}); 41 System.out.println("OzoneAttribute: " + obj); 42 return (OzoneAttribute) obj; 43 } 44 45 public OzoneAttributeImpl(QName qname, String value) { 46 super(qname, value); 47 } 48 49 public static OzoneAttribute create(OzoneInterface db, Element parent, QName qname, String value) { 50 final Class [] signature = new Class [] {Element.class, QName.class, String .class}; 51 return (OzoneAttribute) db.createObject(OzoneAttributeImpl.class, 52 signature, 53 new Object []{parent, qname, value}); 54 } 55 56 public OzoneAttributeImpl(Element parent, QName qname, String value) { 57 super(parent, qname, value); 58 } 60 61 62 public static OzoneAttribute create(OzoneInterface db, String name, String value) { 63 final Class [] signature = new Class [] {NodeFactory.class, String .class, String .class}; 64 NodeFactory nodeFactory = OzoneDocumentFactoryImpl.getInstance(db); 65 return (OzoneAttribute) db.createObject(OzoneAttributeImpl.class, 66 signature, 67 new Object []{nodeFactory, name, value}); 68 } 69 70 76 public OzoneAttributeImpl(NodeFactory nodeFactory, String name, String value) { 77 super(nodeFactory, name, value); 78 } 79 80 public static OzoneAttribute create(OzoneInterface db, String name, String value, Namespace namespace) { 81 final Class [] signature = new Class [] {NodeFactory.class, 82 String .class, String .class, Namespace.class}; 83 NodeFactory nodeFactory = OzoneDocumentFactoryImpl.getInstance(db); 84 return (OzoneAttribute) db.createObject(OzoneAttributeImpl.class, 85 signature, 86 new Object []{nodeFactory, name, value, namespace}); 87 } 88 89 96 public OzoneAttributeImpl(NodeFactory nodeFactory, String name, String value, Namespace namespace) { 97 super(nodeFactory, name, value, namespace); 98 } 99 100 public static OzoneAttribute create(OzoneInterface db, Element parent, String name, String value, Namespace namespace) { 101 final Class [] signature = new Class [] {NodeFactory.class, 102 Element.class, String .class, String .class, Namespace.class}; 103 NodeFactory nodeFactory = OzoneDocumentFactoryImpl.getInstance(db); 104 return (OzoneAttribute) db.createObject(OzoneAttributeImpl.class, 105 signature, 106 new Object []{nodeFactory, parent, name, value, namespace}); 107 } 108 109 public OzoneAttributeImpl(NodeFactory nodeFactory, Element parent, String name, String value, Namespace namespace) { 110 super(nodeFactory, parent, name, value, namespace); 111 } 112 113 public DocumentFactory getDocumentFactory() { 114 throw new OzoneRemoteException("getDocumentFactory will not work in Ozone"); 115 } 116 117 public Object clone() { 118 try { 119 Node answer = (Node) database().copyObject(self()); 120 answer.setDocument(null); 121 answer.setParent(null); 122 return answer; 123 } catch (Exception e) { 124 e.printStackTrace(); 125 return null; 126 } 127 } 128 129 public void onCreate() { 130 } 131 132 public void onActivate() { 133 } 134 135 public void onPassivate() { 136 } 137 138 public void onDelete() { 139 database().deleteObject((OzoneRemote) getQName()); 140 } 141 142 } 143 | Popular Tags |