summaryrefslogtreecommitdiff
path: root/scripting/examples/java
diff options
context:
space:
mode:
authorVladimir Glazounov <vg@openoffice.org>2004-12-23 10:48:30 +0000
committerVladimir Glazounov <vg@openoffice.org>2004-12-23 10:48:30 +0000
commitf4ebe93657a8a24001dcc104ac65aa8449328411 (patch)
tree9ad19136b911014f014a16d4e694f3a2f8084aa2 /scripting/examples/java
parent41656a962bcdc8d58e072c5534ff8ff6207a9b3b (diff)
INTEGRATION: CWS scriptingf9 (1.1.2); FILE ADDED
2004/11/24 12:41:44 toconnor 1.1.2.2: #i36397# rename MemoryUsage document and use button instead of keybinding 2004/11/23 17:31:59 toconnor 1.1.2.1: #i36937# clean up structure of Java examples
Diffstat (limited to 'scripting/examples/java')
-rw-r--r--scripting/examples/java/MemoryUsage/MemoryUsage.java47
1 files changed, 47 insertions, 0 deletions
diff --git a/scripting/examples/java/MemoryUsage/MemoryUsage.java b/scripting/examples/java/MemoryUsage/MemoryUsage.java
new file mode 100644
index 000000000000..c2b8625b0ffb
--- /dev/null
+++ b/scripting/examples/java/MemoryUsage/MemoryUsage.java
@@ -0,0 +1,47 @@
+import java.util.Random;
+import java.util.Date;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.lang.XComponent;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.awt.ActionEvent;
+
+import com.sun.star.script.provider.XScriptContext;
+
+public class MemoryUsage {
+
+ public void updateMemoryUsage(XScriptContext ctxt, ActionEvent evt)
+ throws Exception {
+
+ Runtime runtime = Runtime.getRuntime();
+ Random generator = new Random();
+ Date date = new Date();
+
+ int len = (int)(generator.nextFloat() * runtime.freeMemory() / 5);
+ byte[] bytes = new byte[len];
+ addEntry(ctxt, date.toString(), runtime.totalMemory(), runtime.freeMemory());
+ }
+
+ private void addEntry(XScriptContext ctxt, String date, long total, long free)
+ throws Exception {
+
+ XComponent comp = ctxt.getDocument();
+
+ XSpreadsheetDocument doc = (XSpreadsheetDocument)
+ UnoRuntime.queryInterface(XSpreadsheetDocument.class, comp);
+
+ XIndexAccess index = (XIndexAccess)
+ UnoRuntime.queryInterface(XIndexAccess.class, doc.getSheets());
+
+ XSpreadsheet sheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(com.sun.star.sheet.XSpreadsheet.class), index.getByIndex(0));
+
+ sheet.getCellByPosition(0, 1).setValue(total - free);
+ sheet.getCellByPosition(1, 1).setValue(free);
+ sheet.getCellByPosition(2, 1).setValue(total);
+ sheet.getCellByPosition(0, 2).setFormula(date);
+ }
+}