package com.nortal.jroad.wsdl;
import java.io.PrintWriter;
import javax.wsdl.Definition;
import javax.wsdl.WSDLException;
import javax.wsdl.extensions.ExtensibilityElement;
import javax.wsdl.extensions.ExtensionRegistry;
import javax.wsdl.extensions.ExtensionSerializer;
import javax.xml.namespace.QName;
/**
* Element implementation for WSDL generator
*
* @author Dmitri Danilkin
* @author Lauri Lättemäe (lauri.lattemae@nortal.com) - protocol 4.0
*/
public class XTeeElement implements ExtensibilityElement {
public static final QName VERSION_TYPE =
new QName(XTeeWsdlDefinition.XROAD_NAMESPACE, "version", XTeeWsdlDefinition.XROAD_PREFIX);
private QName elementType;
private Boolean required = null;
private String value;
public String getValue() {
return value;
}
public void setValue(String version) {
this.value = version;
}
public QName getElementType() {
return elementType;
}
public Boolean getRequired() {
return required;
}
public void setElementType(QName elementType) {
this.elementType = elementType;
}
public void setRequired(Boolean required) {
this.required = required;
}
public static class XRoadElementSerializer implements ExtensionSerializer {
@SuppressWarnings({ "rawtypes" })
public void marshall(Class parentType,
QName elementType,
ExtensibilityElement extension,
PrintWriter pw,
Definition def,
ExtensionRegistry extReg) throws WSDLException {
pw.append(" <" + XTeeWsdlDefinition.XROAD_PREFIX + ":" + elementType.getLocalPart() + ">");
pw.append(((XTeeElement) extension).getValue());
pw.append("</" + XTeeWsdlDefinition.XROAD_PREFIX + ":" + elementType.getLocalPart() + ">\n");
}
}
}