summaryrefslogtreecommitdiff
path: root/sandbox/com/sun/star/lib/sandbox/WeakTable.java
diff options
context:
space:
mode:
Diffstat (limited to 'sandbox/com/sun/star/lib/sandbox/WeakTable.java')
-rw-r--r--sandbox/com/sun/star/lib/sandbox/WeakTable.java147
1 files changed, 0 insertions, 147 deletions
diff --git a/sandbox/com/sun/star/lib/sandbox/WeakTable.java b/sandbox/com/sun/star/lib/sandbox/WeakTable.java
deleted file mode 100644
index df0e379b90..0000000000
--- a/sandbox/com/sun/star/lib/sandbox/WeakTable.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * $RCSfile: WeakTable.java,v $
- * $Revision: 1.3 $
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-package com.sun.star.lib.sandbox;
-
-import java.lang.reflect.Method;
-
-import java.util.Hashtable;
-import java.util.Observable;
-import java.util.Observer;
-
-public class WeakTable extends Observable {
- private static final boolean DEBUG = false;
-
- private static final void DEBUG(String dbg) {
- if (DEBUG)
- System.err.println(">>> com.sun.star.lib.sandbox.WeakTable - " + dbg);
- }
-
- static WeakTable weakTable = new WeakTable();
-
- public Hashtable hash = new Hashtable();
-
- synchronized private void pput(Object key, Cachable cachable) {
- DEBUG("put:" + key + " " + cachable);
-
- synchronized(hash) {
- Object hardObject = cachable.getHardObject();
- Class weakClass = cachable.getClass();
-
- WeakRef weakRef = new WeakRef(key, hardObject);
- cachable.setWeakRef(weakRef);
-
- hash.put(key, new WeakEntry(weakClass, weakRef));
- }
- setChanged();
- notifyObservers();
- }
-
- synchronized private Cachable pget(Object key) {
- DEBUG("get:" + key);
-
- String error = null;
-
- Cachable cachable = null;
-
- synchronized(hash) {
- WeakEntry weakEntry = (WeakEntry)hash.get(key);
- if(weakEntry != null) {
- try {
- // Class sig[] = new Class[1];
- // sig[0] = weakRef.getClass();
- // Method method = weakClass.getMethod("<init>", sig);
-
- cachable = (Cachable)weakEntry.weakClass.newInstance();
- cachable.setWeakRef(weakEntry.weakRef);
- }
- catch(IllegalAccessException e) {
- error = "#### WeakTable.get:" + e;
- }
- catch(InstantiationException e) {
- error = "#### WeakTable.get:" + e;
- }
- }
- }
- if(error != null)
- System.err.println(error);
-
- return cachable;
- }
-
- synchronized private void premove(Object key) {
- hash.remove(key);
-
- setChanged();
- notifyObservers();
- }
-
- synchronized private void pclear() {
- hash.clear();
-
- setChanged();
- notifyObservers();
- }
-
- public void addObserver(Observer observer) {
- super.addObserver(observer);
-
- observer.update(this, null);
- }
-
- public static void put(Object key, Cachable cachable) {
- weakTable.pput(key, cachable);
- }
-
- public static Cachable get(Object key) {
- return weakTable.pget(key);
- }
-
- public static void remove(Object key) {
- weakTable.premove(key);
- }
-
- public static void AddObserver(Observer observer) {
- weakTable.addObserver(observer);
- }
-
- public static void DeleteObserver(Observer observer) {
- weakTable.deleteObserver(observer);
- }
-
- static void clear() {
- weakTable.pclear();
- }
-
- static java.util.Enumeration elements() {
- return weakTable.hash.elements();
- }
-}
-