![JAR search and dependency download from the Maven repository](/logo.png)
net.intelie.liverig.witsml.objects.CapClient Maven / Gradle / Ivy
The newest version!
package net.intelie.liverig.witsml.objects;
import com.google.common.base.Preconditions;
import net.intelie.liverig.util.XMLOutputFactoryFactory;
import net.intelie.liverig.util.XMLStreamWriterAutoCloseable;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;
import java.io.StringWriter;
public class CapClient {
private final ApiVers apiVers;
private String name;
private String vendor;
private String version;
public CapClient(ApiVers apiVers) {
this.apiVers = Preconditions.checkNotNull(apiVers);
}
public ApiVers getApiVers() {
return apiVers;
}
public String getName() {
return name;
}
public void setName(String name) {
Preconditions.checkArgument(name == null || name.length() <= 64);
this.name = name;
}
public String getVendor() {
return vendor;
}
public void setVendor(String vendor) {
Preconditions.checkArgument(vendor == null || vendor.length() <= 64);
this.vendor = vendor;
}
public String getVersion() {
return version;
}
public void setVersion(String version) {
Preconditions.checkArgument(version == null || version.length() <= 64);
this.version = version;
}
@Override
public String toString() {
final String namespace = apiVers.getNamespace();
StringWriter sw = new StringWriter();
try (XMLStreamWriterAutoCloseable ac = XMLOutputFactoryFactory.createXMLStreamWriter(sw)) {
XMLStreamWriter writer = ac.get();
writer.setDefaultNamespace(namespace);
writer.writeStartElement(namespace, "capClients");
writer.writeDefaultNamespace(namespace);
writer.writeAttribute("version", apiVers.toString());
writer.writeStartElement(namespace, "capClient");
writer.writeAttribute("apiVers", apiVers.toString());
writeSimpleElement(writer, namespace, "name", name);
writeSimpleElement(writer, namespace, "vendor", vendor);
writeSimpleElement(writer, namespace, "version", version);
writeSimpleElement(writer, namespace, "schemaVersion", "1.3.1.1,1.4.1.1");
writer.writeEndDocument();
} catch (XMLStreamException e) {
throw new RuntimeException(e);
}
return sw.toString();
}
private static void writeSimpleElement(XMLStreamWriter writer, String namespace, String name, String value) throws XMLStreamException {
if (value != null) {
writer.writeStartElement(namespace, name);
writer.writeCharacters(value);
writer.writeEndElement();
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy