KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > ozoneDB > xml > dom4j > o3impl > OzoneAttributeImpl


1 // You can redistribute this software and/or modify it under the terms of
2
// the Ozone Library License version 1 published by ozone-db.org.
3
//
4
// The original code and portions created by SMB are
5
// Copyright (C) 1997-@year@ by SMB GmbH. All rights reserved.
6
//
7
// $Id: OzoneAttributeImpl.java,v 1.1 2003/11/02 18:10:03 per_nyfelt Exp $
8
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 /**
18  *
19  * @author Per Nyfelt
20  */

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 JavaDoc[] {QName.class},
28                 new Object JavaDoc[]{qname});
29     }
30
31     public OzoneAttributeImpl(QName qname) {
32         super(qname);
33     }
34
35     public static OzoneAttribute create(OzoneInterface db, QName qname, String JavaDoc value) {
36         final Class JavaDoc[] signature = new Class JavaDoc[] {QName.class, String JavaDoc.class};
37         System.out.println("creating OzoneAttribute: qname=" + qname + " , value=" + value);
38         Object JavaDoc obj = db.createObject(OzoneAttributeImpl.class,
39                 signature,
40                 new Object JavaDoc[]{qname, value});
41         System.out.println("OzoneAttribute: " + obj);
42         return (OzoneAttribute) obj;
43     }
44
45     public OzoneAttributeImpl(QName qname, String JavaDoc value) {
46         super(qname, value);
47     }
48
49     public static OzoneAttribute create(OzoneInterface db, Element parent, QName qname, String JavaDoc value) {
50         final Class JavaDoc[] signature = new Class JavaDoc[] {Element.class, QName.class, String JavaDoc.class};
51         return (OzoneAttribute) db.createObject(OzoneAttributeImpl.class,
52                 signature,
53                 new Object JavaDoc[]{parent, qname, value});
54     }
55
56     public OzoneAttributeImpl(Element parent, QName qname, String JavaDoc value) {
57         super(parent, qname, value);
58         //System.out.println("[" + this.getClass() + "] constructed");
59
}
60
61
62     public static OzoneAttribute create(OzoneInterface db, String JavaDoc name, String JavaDoc value) {
63         final Class JavaDoc[] signature = new Class JavaDoc[] {NodeFactory.class, String JavaDoc.class, String JavaDoc.class};
64         NodeFactory nodeFactory = OzoneDocumentFactoryImpl.getInstance(db);
65         return (OzoneAttribute) db.createObject(OzoneAttributeImpl.class,
66                 signature,
67                 new Object JavaDoc[]{nodeFactory, name, value});
68     }
69
70     /** Creates the <code>Attribute</code> with the specified local name
71      * and value.
72      *
73      * @param name is the name of the attribute
74      * @param value is the value of the attribute
75      */

76     public OzoneAttributeImpl(NodeFactory nodeFactory, String JavaDoc name, String JavaDoc value) {
77         super(nodeFactory, name, value);
78     }
79
80     public static OzoneAttribute create(OzoneInterface db, String JavaDoc name, String JavaDoc value, Namespace namespace) {
81         final Class JavaDoc[] signature = new Class JavaDoc[] {NodeFactory.class,
82                 String JavaDoc.class, String JavaDoc.class, Namespace.class};
83         NodeFactory nodeFactory = OzoneDocumentFactoryImpl.getInstance(db);
84         return (OzoneAttribute) db.createObject(OzoneAttributeImpl.class,
85                 signature,
86                 new Object JavaDoc[]{nodeFactory, name, value, namespace});
87     }
88
89     /** Creates the <code>Attribute</code> with the specified local name,
90      * value and <code>AbstractNamespace</code>.
91      *
92      * @param name is the name of the attribute
93      * @param value is the value of the attribute
94      * @param namespace is the namespace of the attribute
95      */

96     public OzoneAttributeImpl(NodeFactory nodeFactory, String JavaDoc name, String JavaDoc value, Namespace namespace) {
97         super(nodeFactory, name, value, namespace);
98     }
99
100     public static OzoneAttribute create(OzoneInterface db, Element parent, String JavaDoc name, String JavaDoc value, Namespace namespace) {
101         final Class JavaDoc[] signature = new Class JavaDoc[] {NodeFactory.class,
102                 Element.class, String JavaDoc.class, String JavaDoc.class, Namespace.class};
103         NodeFactory nodeFactory = OzoneDocumentFactoryImpl.getInstance(db);
104         return (OzoneAttribute) db.createObject(OzoneAttributeImpl.class,
105                 signature,
106                 new Object JavaDoc[]{nodeFactory, parent, name, value, namespace});
107     }
108
109     public OzoneAttributeImpl(NodeFactory nodeFactory, Element parent, String JavaDoc name, String JavaDoc 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 JavaDoc clone() {
118         try {
119             Node answer = (Node) database().copyObject(self());
120             answer.setDocument(null);
121             answer.setParent(null);
122             return answer;
123         } catch (Exception JavaDoc 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