1 19 20 package org.netbeans.modules.java.ui.nodes; 21 22 import org.openide.src.nodes.ElementNodeFactory; 23 import org.openide.src.nodes.FilterFactory; 24 import org.openide.src.*; 25 import org.openide.nodes.Node; 26 import org.netbeans.jmi.javamodel.JavaEnum; 27 import org.netbeans.jmi.javamodel.AnnotationType; 28 import org.netbeans.jmi.javamodel.EnumConstant; 29 import org.netbeans.jmi.javamodel.Attribute; 30 31 34 public final class ExFilterFactory implements ExElementNodeFactory { 35 36 private ExElementNodeFactory delegate; 37 private final ElementNodeFactory impl; 38 39 private ExFilterFactory() { 40 this.impl = null; 41 } 42 43 public ExFilterFactory(ElementNodeFactory f) { 44 this.impl = f; 45 } 46 47 public void attach(ExElementNodeFactory f) { 48 if (!(impl instanceof FilterFactory)) { 49 throw new UnsupportedOperationException (); 50 } 51 ((FilterFactory) impl).attachTo(f); 52 this.delegate = f; 53 } 54 55 public Node createEnumNode(JavaEnum element) { 56 checkAttached(); 57 return delegate.createEnumNode(element); 58 } 59 60 public Node createEnumConstantNode(EnumConstant element) { 61 checkAttached(); 62 return delegate.createEnumConstantNode(element); 63 } 64 65 public Node createAnnotationTypeNode(AnnotationType element) { 66 checkAttached(); 67 return delegate.createAnnotationTypeNode(element); 68 } 69 70 public Node createAnnotationTypeMethodNode(Attribute element) { 71 checkAttached(); 72 return delegate.createAnnotationTypeMethodNode(element); 73 } 74 75 public Node createClassNode(ClassElement element) { 76 return impl.createClassNode(element); 77 } 78 79 public Node createConstructorNode(ConstructorElement element) { 80 return impl.createConstructorNode(element); 81 } 82 83 public Node createErrorNode() { 84 return impl.createErrorNode(); 85 } 86 87 public Node createFieldNode(FieldElement element) { 88 return impl.createFieldNode(element); 89 } 90 91 public Node createInitializerNode(InitializerElement element) { 92 return impl.createInitializerNode(element); 93 } 94 95 public Node createMethodNode(MethodElement element) { 96 return impl.createMethodNode(element); 97 } 98 99 public Node createWaitNode() { 100 return impl.createWaitNode(); 101 } 102 103 private void checkAttached() throws IllegalStateException { 104 if (delegate == null) { 105 throw new IllegalStateException ("factory is not attached"); } 107 } 108 } 109 | Popular Tags |