Annotation of java/classes/org/w3c/tools/jdbc/PropertyCache.java, revision 1.1
1.1 ! bmahe 1: // PropertyCache.java
! 2: // $Id$
! 3: // (c) COPYRIGHT MIT, INRIA and Keio, 2000.
! 4: // Please first read the full copyright statement in file COPYRIGHT.html
! 5: package org.w3c.tools.jdbc;
! 6:
! 7: import java.util.Hashtable;
! 8: import java.util.Enumeration;
! 9: import java.beans.PropertyDescriptor;
! 10:
! 11: /**
! 12: * @version $Revision$
! 13: * @author Beno�t Mah� (bmahe@w3.org)
! 14: */
! 15: public class PropertyCache {
! 16:
! 17: public static boolean debug = false;
! 18:
! 19: /**
! 20: * The modified properties
! 21: */
! 22: protected static Hashtable properties = new Hashtable();
! 23:
! 24: protected static String getId(JdbcBeanInterface bean, String property) {
! 25: StringBuffer buffer =
! 26: new StringBuffer(String.valueOf(bean.hashCode()));
! 27: buffer.append(".").append(property);
! 28: return buffer.toString();
! 29: }
! 30:
! 31: public static void addProperty(JdbcBeanInterface bean,
! 32: String property,
! 33: Object value)
! 34: {
! 35: String id = getId(bean, property);
! 36: if (id != null) {
! 37: if (debug) {
! 38: System.out.println("add property in cache: "+id+" = "+value);
! 39: }
! 40: properties.put(id, value);
! 41: }
! 42: }
! 43:
! 44: public static Object getProperty(JdbcBeanInterface bean,
! 45: PropertyDescriptor pd)
! 46: {
! 47: String id = getId(bean, pd.getName());
! 48: if (id != null) {
! 49: return properties.get(id);
! 50: }
! 51: return null;
! 52: }
! 53:
! 54: public static void removeProperties(JdbcBeanInterface bean) {
! 55: Enumeration keys = properties.keys();
! 56: StringBuffer buffer =
! 57: new StringBuffer(String.valueOf(bean.hashCode()));
! 58: buffer.append(".");
! 59: String beankey = buffer.toString();
! 60: while (keys.hasMoreElements()) {
! 61: String key = (String)keys.nextElement();
! 62: if (key.startsWith(beankey)) {
! 63: if (debug) {
! 64: System.out.println("remove property from cache: "+beankey);
! 65: }
! 66: properties.remove(key);
! 67: }
! 68: }
! 69: }
! 70: }
Webmaster