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 Cvs@lists.mmbase.org http://lists.mmbase.org/mailman/listinfo/cvs