1 19 20 package org.netbeans.modules.xml.schema.ui.nodes.categorized; 21 22 import java.util.List ; 23 import org.openide.nodes.Node; 24 import org.openide.util.NbBundle; 25 import org.netbeans.modules.xml.xam.dom.NamedComponentReference; 26 import org.netbeans.modules.xml.schema.model.SchemaComponent; 27 import org.netbeans.modules.xml.schema.model.ReferenceableSchemaComponent; 28 import org.netbeans.modules.xml.schema.model.AttributeGroupReference; 29 import org.netbeans.modules.xml.schema.model.AttributeReference; 30 import org.netbeans.modules.xml.schema.model.ElementReference; 31 import org.netbeans.modules.xml.schema.model.GroupReference; 32 import org.netbeans.modules.xml.schema.model.SchemaComponentReference; 33 import org.netbeans.modules.xml.schema.ui.nodes.SchemaUIContext; 34 35 39 public class ReferenceChildren<C extends SchemaComponent> 40 extends CategorizedChildren<C> 41 { 42 46 public ReferenceChildren(SchemaUIContext context, 47 SchemaComponentReference<C> reference) { 48 super(context,reference); 49 } 50 51 52 56 protected List <Node> createKeys() { 57 List <Node> keys=super.createKeys(); 58 59 int index=0; 60 61 if (keys.size() > 0 && keys.get(0) instanceof DetailsNode) 63 index=1; 64 65 NamedComponentReference<? extends ReferenceableSchemaComponent> ref = null; 66 if(getReference().get() instanceof AttributeReference) { 67 ref = ((AttributeReference)getReference().get()).getRef(); 68 } else if(getReference().get() instanceof AttributeGroupReference) { 69 ref = ((AttributeGroupReference)getReference().get()).getGroup(); 70 } else if(getReference().get() instanceof ElementReference) { 71 ref = ((ElementReference)getReference().get()).getRef(); 72 } else if(getReference().get() instanceof GroupReference) { 73 ref = ((GroupReference)getReference().get()).getRef(); 74 } 75 if (ref != null && !ref.isBroken() && ref.get() != null) { 76 keys.add(index, new ReadOnlySchemaComponentNode( 78 getContext().getFactory().createNode(ref.get()), 79 NbBundle.getMessage(ReferenceChildren.class, 80 "LBL_InheritedFrom"))); 81 } 82 return keys; 83 } 84 } 85 | Popular Tags |