1 19 20 package org.netbeans.modules.xml.wsdl.model.impl; 21 22 import org.netbeans.modules.xml.wsdl.model.BindingOperation; 23 import org.netbeans.modules.xml.wsdl.model.BindingOutput; 24 import org.netbeans.modules.xml.wsdl.model.Operation; 25 import org.netbeans.modules.xml.wsdl.model.Output; 26 import org.netbeans.modules.xml.wsdl.model.WSDLModel; 27 import org.netbeans.modules.xml.xam.AbstractReference; 28 import org.netbeans.modules.xml.xam.Reference; 29 import org.w3c.dom.Element ; 30 31 35 public class BindingOutputImpl extends NamedImpl implements BindingOutput { 36 37 38 public BindingOutputImpl(WSDLModel model, Element e) { 39 super(model, e); 40 } 41 42 public BindingOutputImpl(WSDLModel model){ 43 this(model, createNewElement(WSDLQNames.OUTPUT.getQName(), model)); 44 } 45 46 public void accept(org.netbeans.modules.xml.wsdl.model.visitor.WSDLVisitor visitor) { 47 visitor.visit(this); 48 } 49 50 public void setOutput(Reference<Output> Output) { 51 assert false: "Reference to Output is read-only, use setName() instead."; 52 } 53 54 public Reference<Output> getOutput() { 55 return new OutputReference(this); 56 } 57 58 static class OutputReference extends AbstractReference<Output> implements Reference<Output> { 59 public OutputReference(BindingOutputImpl parent){ 60 super(Output.class, parent, parent.getName()); 61 } 62 63 public BindingOutputImpl getParent() { 64 return (BindingOutputImpl) super.getParent(); 65 } 66 67 public String getRefString() { 68 return getParent().getName(); 69 } 70 71 public Output get() { 72 if (getReferenced() == null) { 73 BindingOperation bo = (BindingOperation) getParent().getParent(); 74 if (bo != null) { 75 if (bo.getOperation() != null) { 76 Operation op = bo.getOperation().get(); 77 if (op != null) { 78 setReferenced(op.getOutput()); 79 } 80 } 81 } 82 } 83 return getReferenced(); 84 } 85 86 } 87 } 88 | Popular Tags |