projects
/
yaz4j-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add some docu on Connection
[yaz4j-moved-to-github.git]
/
src
/
main
/
java
/
org
/
yaz4j
/
Record.java
diff --git
a/src/main/java/org/yaz4j/Record.java
b/src/main/java/org/yaz4j/Record.java
index
977ee05
..
e0a0a52
100644
(file)
--- a/
src/main/java/org/yaz4j/Record.java
+++ b/
src/main/java/org/yaz4j/Record.java
@@
-1,14
+1,19
@@
package org.yaz4j;
import org.yaz4j.jni.SWIGTYPE_p_ZOOM_record_p;
package org.yaz4j;
import org.yaz4j.jni.SWIGTYPE_p_ZOOM_record_p;
-import org.yaz4j.jni.SWIGTYPE_p_int;
import org.yaz4j.jni.yaz4jlib;
import org.yaz4j.jni.yaz4jlib;
-public class Record {
- private SWIGTYPE_p_ZOOM_record_p record = null;
+public class Record implements Cloneable {
+ private SWIGTYPE_p_ZOOM_record_p record;
+ private ResultSet rset;
private boolean disposed = false;
private boolean disposed = false;
- Record(SWIGTYPE_p_ZOOM_record_p record) {
+ Record(SWIGTYPE_p_ZOOM_record_p record, ResultSet rset) {
+ this.record = record;
+ this.rset = rset;
+ }
+
+ protected Record(SWIGTYPE_p_ZOOM_record_p record) {
this.record = record;
}
this.record = record;
}
@@
-17,8
+22,7
@@
public class Record {
}
public byte[] get(String type) {
}
public byte[] get(String type) {
- SWIGTYPE_p_int length = null;
- return yaz4jlib.ZOOM_record_get_bytes(record, type, length);
+ return yaz4jlib.ZOOM_record_get_bytes(record, type);
}
public String render() {
}
public String render() {
@@
-37,9
+41,17
@@
public class Record {
return new String(get("database"));
}
return new String(get("database"));
}
+ public Object clone() {
+ SWIGTYPE_p_ZOOM_record_p clone = yaz4jlib.ZOOM_record_clone(record);
+ return new Record(clone);
+ }
+
void _dispose() {
if (!disposed) {
void _dispose() {
if (!disposed) {
- yaz4jlib.ZOOM_record_destroy(record);
+ //was cloned, need to dealloc?
+ if (rset == null)
+ yaz4jlib.ZOOM_record_destroy(record);
+ rset = null;
record = null;
disposed = true;
}
record = null;
disposed = true;
}