|
What this is
Other links
The source code
/*
* Sun Public License Notice
*
* The contents of this file are subject to the Sun Public License
* Version 1.0 (the "License"). You may not use this file except in
* compliance with the License. A copy of the License is available at
* http://www.sun.com/
*
* The Original Code is NetBeans. The Initial Developer of the Original
* Code is Sun Microsystems, Inc. Portions Copyright 1997-2002 Sun
* Microsystems, Inc. All Rights Reserved.
*/
package org.netbeans.modules.xml.tree.lib;
import java.beans.*;
import java.beans.beancontext.*;
import org.openide.nodes.*;
import org.openide.cookies.InstanceCookie;
/**
* A BeanNode featuring with ordered children.
*
* @author Petr Kuzel
* @version 1.0
*/
public class OrderedBeanNode extends BeanNode {
/** Creates new OrderedBeanNode */
public OrderedBeanNode(Object bean) throws IntrospectionException {
this(bean, null);
}
public OrderedBeanNode(Object bean, Children kids) throws IntrospectionException {
super(bean, kids == null ? getChildren(bean) : kids);
//??? BeanNode & TMUtil workaround
// remove cookie that hard references us, it is attached to node
// and block tree document garbage collecting
Node.Cookie cake = (Node.Cookie) getCookieSet().getCookie(InstanceCookie.class);
if (cake != null) {
getCookieSet().remove(cake);
}
}
private static Children getChildren (Object bean) {
if (bean instanceof BeanContext)
return new OrderedBeanChildren ((BeanContext)bean);
if (bean instanceof BeanContextProxy) {
BeanContextChild bch = ((BeanContextProxy)bean).getBeanContextProxy();
if (bch instanceof BeanContext)
return new OrderedBeanChildren ((BeanContext)bch);
}
return Children.LEAF;
}
}
|
| ... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.