Return null if a record cannot be retrieved.
[yaz4j-moved-to-github.git] / src / main / java / org / yaz4j / Package.java
index 8de3ab7..c5671b3 100644 (file)
@@ -4,9 +4,8 @@ import org.yaz4j.jni.SWIGTYPE_p_ZOOM_package_p;
 import org.yaz4j.jni.yaz4jlib;
 
 public class Package {
-
-    private SWIGTYPE_p_ZOOM_package_p pack = null;
-    private ConnectionExtended connection = null;
+    private SWIGTYPE_p_ZOOM_package_p pack;
+    private ConnectionExtended connection;
     private String type;
 
     Package(SWIGTYPE_p_ZOOM_package_p pack, ConnectionExtended connection, String type) {
@@ -16,18 +15,37 @@ public class Package {
     }
 
     public void finalize() {
-        Dispose();
+        _dispose();
+    }
+
+    /**
+     * Write option for a specified key
+     * @param key option name
+     * @param value option value
+     * @return package (self) for chainability
+     */
+    public Package option(String key, String value) {
+      yaz4jlib.ZOOM_package_option_set(pack, key, value);
+      return this;
     }
 
-    public PackageOptionsCollection getPackageOptions() {
-        return new PackageOptionsCollection(pack);
+    /**
+     * Read option for a specified key.
+     * @param key option name
+     * @return option value
+     */
+    public String option(String key) {
+      return yaz4jlib.ZOOM_package_option_get(pack, key);
     }
 
-    public void Send() {
+    /**
+     * Send the package.
+     */
+    public void send() {
         yaz4jlib.ZOOM_package_send(pack, type);
     }
 
-    public void Dispose() {
+    void _dispose() {
         if (pack != null) {
             yaz4jlib.ZOOM_package_destroy(pack);
             connection = null;