1 19 20 package org.netbeans.modules.xml.wsdl.model.impl; 21 22 import org.netbeans.modules.xml.wsdl.model.BindingFault; 23 import org.netbeans.modules.xml.wsdl.model.BindingOperation; 24 import org.netbeans.modules.xml.wsdl.model.Fault; 25 import org.netbeans.modules.xml.wsdl.model.Operation; 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 BindingFaultImpl extends NamedImpl implements BindingFault { 36 37 38 public BindingFaultImpl(WSDLModel model, Element e) { 39 super(model, e); 40 } 41 42 public BindingFaultImpl(WSDLModel model){ 43 this(model, createNewElement(WSDLQNames.FAULT.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 setFault(Reference<Fault> fault) { 51 assert false: "Reference to Output is read-only, use setName() instead."; 52 } 53 54 public Reference<Fault> getFault() { 55 return new FaultReference(this); 56 } 57 58 static class FaultReference extends AbstractReference<Fault> implements Reference<Fault> { 59 public FaultReference(BindingFaultImpl parent){ 60 super(Fault.class, parent, parent.getName()); 61 } 62 63 public BindingFaultImpl getParent() { 64 return (BindingFaultImpl) super.getParent(); 65 } 66 67 public String getRefString() { 68 return getParent().getName(); 69 } 70 71 public Fault get() { 72 if (getReferenced() != null) return getReferenced(); 73 74 BindingOperation bo = (BindingOperation) getParent().getParent(); 75 if (bo != null) { 76 if (bo.getOperation() != null) { 77 Operation op = bo.getOperation().get(); 78 if (op != null) { 79 for (Fault f : op.getFaults()) { 80 if (f.getName().equals(getRefString())) { 81 setReferenced(f); 82 break; 83 } 84 } 85 } 86 } 87 } 88 return getReferenced(); 89 } 90 91 } 92 } 93 | Popular Tags |