diff options
author | Frederic Peters <fpeters@entrouvert.com> | 2008-04-29 12:07:06 +0000 |
---|---|---|
committer | Frederic Peters <fpeters@entrouvert.com> | 2008-04-29 12:07:06 +0000 |
commit | b2c6027ad1a0e13257906fc5efbf4c5386d3f1cb (patch) | |
tree | e3565e6ba4736e17ed6a3e02f3a8151aed72572e /bindings/java/GObject.java | |
parent | 3d7c20873cfd488c67645457594a27f8026f9d54 (diff) | |
download | lasso-b2c6027ad1a0e13257906fc5efbf4c5386d3f1cb.tar.gz lasso-b2c6027ad1a0e13257906fc5efbf4c5386d3f1cb.tar.xz lasso-b2c6027ad1a0e13257906fc5efbf4c5386d3f1cb.zip |
[project @ fpeters@0d.be-20080222093656-l6a09ccadxdz9qrs]
merging benjamin branch
Original author: Frederic Peters <fpeters@0d.be>
Date: 2008-02-22 10:36:56.421000+01:00
Diffstat (limited to 'bindings/java/GObject.java')
-rw-r--r-- | bindings/java/GObject.java | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/bindings/java/GObject.java b/bindings/java/GObject.java index ccb59c22..a7815a72 100644 --- a/bindings/java/GObject.java +++ b/bindings/java/GObject.java @@ -1,4 +1,5 @@ package com.entrouvert.lasso; +import java.util.*; class GObject { private long cptr; @@ -6,4 +7,40 @@ class GObject { protected GObject(long ptr) { cptr = ptr; } + protected Map arrayToMap(Object[] arr) { + Map map = new HashMap(); + if (arr == null) + return map; + if (arr.length % 2 != 0) + throw new IllegalArgumentException("arr must of an even size"); + int i; + for (i=0;i<arr.length;i+=2) { + map.put(arr[i],arr[i+1]); + } + return map; + } + protected void mapToArray(Map map, Object[] arr) { + int s = map.size(); + if (map == null) + return; + Iterator it; + it = map.entrySet().iterator(); + int i = 0; + while (it.hasNext() && i < 2*s) { + Map.Entry e = (Map.Entry)it.next(); + arr[i++] = (Object)e.getKey(); + arr[i++] = (Object)e.getValue(); + } + } + protected void listToArray(List list, Object[] arr) { + Iterator it = list.iterator(); + int s = arr.length; + int i = 0; + while (it.hasNext() && i < s) { + arr[i++] = (Object)it.next(); + } + } + protected void finalize() throws Throwable { + LassoJNI.destroy(cptr); + } } |