Author: michiel
Date: 2010-05-31 18:03:05 +0200 (Mon, 31 May 2010)
New Revision: 42350
Modified:
mmbase/trunk/bridge/src/main/java/org/mmbase/core/event/NodeEvent.java
Log:
added NodeEvent#isRelation
Modified: mmbase/trunk/bridge/src/main/java/org/mmbase/core/event/NodeEvent.java
===================================================================
--- mmbase/trunk/bridge/src/main/java/org/mmbase/core/event/NodeEvent.java
2010-05-31 15:59:28 UTC (rev 42349)
+++ mmbase/trunk/bridge/src/main/java/org/mmbase/core/event/NodeEvent.java
2010-05-31 16:03:05 UTC (rev 42350)
@@ -248,7 +248,25 @@
return nodeNumber;
}
+ private static final Set<String> relationBuilders = new HashSet<String>();
+ /**
+ * Especially events of the type NEW can also be about relations. You may
want to know this. This determines it efficiently without actually
+ * getting the node from the database.
+ * @since MMBase-1.9.4
+ */
+ public boolean isRelation() {
+ if (relationBuilders.isEmpty()) {
+ org.mmbase.bridge.NodeManager insrel =
org.mmbase.bridge.ContextProvider.getDefaultCloudContext().getCloud("mmbase",
"class", null).getNodeManager("insrel");
+ relationBuilders.add("insrel");
+ for (org.mmbase.bridge.NodeManager desc : insrel.getDescendants())
{
+ relationBuilders.add(desc.getName());
+ }
+ }
+ return relationBuilders.contains(getBuilderName());
+ }
+
+
@Override
public String toString() {
StringBuilder buf = new StringBuilder("Node event: '");
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs