KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > mmbase > module > builders > Properties


1 /*
2
3 This software is OSI Certified Open Source Software.
4 OSI Certified is a certification mark of the Open Source Initiative.
5
6 The license (Mozilla version 1.0) can be read at the MMBase site.
7 See http://www.MMBase.org/license
8
9 */

10 package org.mmbase.module.builders;
11
12 import org.mmbase.core.event.NodeEvent;
13 import org.mmbase.module.core.*;
14 import org.mmbase.util.logging.*;
15
16 /**
17  * Probably your builder must extend this if 'properties' on its nodes must work decently?
18  *
19  * @javadoc
20  *
21  * @version $Id: Properties.java,v 1.15 2006/04/18 13:05:36 michiel Exp $
22  */

23 public class Properties extends MMObjectBuilder {
24
25     private static final Logger log = Logging.getLoggerInstance(Properties.class);
26
27     public String JavaDoc getGUIIndicator(MMObjectNode node) {
28         String JavaDoc str = node.getStringValue("key");
29         if (str.length() > 15) {
30             return str.substring(0, 12) + "...";
31         } else {
32             return str;
33         }
34     }
35
36     /* (non-Javadoc)
37      * @see org.mmbase.module.core.MMObjectBuilder#notify(org.mmbase.core.event.NodeEvent)
38      */

39     public void notify(NodeEvent event) {
40         if (event.getBuilderName().equals(this.getTableName())) {
41             if (log.isDebugEnabled()) {
42                 log.debug("nodeChanged(): Property change ! "+ event.getMachine() + " " + event.getNodeNumber() +
43                           " " + event.getBuilderName() + " "+ NodeEvent.newTypeToOldType(event.getType()));
44             }
45             if (event.getType() == NodeEvent.TYPE_CHANGE || event.getType() == NodeEvent.TYPE_NEW ) {
46                 // The passed node number is node of prop node
47
int parent = getNode(event.getNodeNumber()).getIntValue("parent");
48                 if (isNodeCached(new Integer JavaDoc(parent))) {
49                     log.debug("nodeChanged(): Zapping node properties cache for " + parent);
50                     MMObjectNode pnode = getNode(parent);
51                     if (pnode != null) pnode.delPropertiesCache();
52                 }
53             }
54         }
55         super.notify(event);
56     }
57 }
58
Popular Tags