/*************************************************** * * cismet GmbH, Saarbruecken, Germany * * ... and it just works. * ****************************************************/ /* * ClassAttributeNode.java * * Created on 3. Juni 2004, 15:06 */ package Sirius.navigator.ui.attributes; import Sirius.navigator.connection.*; import Sirius.navigator.resource.ResourceManager; import Sirius.navigator.types.iterator.AttributeIterator; import Sirius.navigator.types.iterator.AttributeRestriction; import Sirius.navigator.types.iterator.SimpleAttributeRestriction; import Sirius.navigator.types.iterator.SingleAttributeIterator; import Sirius.navigator.types.treenode.ClassTreeNode; import Sirius.navigator.types.treenode.ObjectTreeNode; import Sirius.server.localserver.attribute.Attribute; import Sirius.server.middleware.types.*; import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.tree.DefaultMutableTreeNode; /** * DOCUMENT ME! * * @author pascal * @version $Revision$, $Date$ */ public class ClassAttributeNode extends AttributeNode { //~ Static fields/initializers --------------------------------------------- private static final ResourceManager resource = ResourceManager.getManager(); //~ Instance fields -------------------------------------------------------- private final MetaClass metaClass; private final Icon icon; private final SingleAttributeIterator attributeIterator; //~ Constructors ----------------------------------------------------------- /** * Creates a new instance of ObjectAttributeNode. * * @param name DOCUMENT ME! * @param ignoreSubstitute DOCUMENT ME! * @param ignoreArrayHelperObjects DOCUMENT ME! * @param ignoreInvisibleAttributes DOCUMENT ME! * @param metaClass DOCUMENT ME! */ public ClassAttributeNode(final String name, final boolean ignoreSubstitute, final boolean ignoreArrayHelperObjects, final boolean ignoreInvisibleAttributes, final MetaClass metaClass) { super(name, ignoreSubstitute, ignoreArrayHelperObjects, ignoreInvisibleAttributes); this.metaClass = metaClass; this.attributeIterator = new SingleAttributeIterator(this.classAttributeRestriction, false); // load class icon ... if (this.metaClass.getIconData().length > 0) { this.icon = new ImageIcon(this.metaClass.getIconData()); } else { this.icon = resource.getIcon("ClassNodeIcon.gif"); } // load attributes ... this.attributeIterator.init(metaClass.getAttributes()); this.addAttributeNodes(this.attributeIterator); } //~ Methods ---------------------------------------------------------------- /** * DOCUMENT ME! * * @return DOCUMENT ME! */ public MetaClass getMetaClass() { return this.metaClass; } @Override public Icon getIcon() { return this.icon; } @Override public java.util.Collection getAttributes() { return this.metaClass.getAttributes(); } }