
com.minlia.iot.processor.AbstractApiComponent Maven / Gradle / Ivy
package com.minlia.iot.processor;
import java.io.IOException;
import java.io.StringWriter;
import java.util.Objects;
import java.util.Optional;
import javax.xml.bind.annotation.XmlElement;
import lombok.extern.slf4j.Slf4j;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
/**
* 抽象的Api组件
*/
@Slf4j
public abstract class AbstractApiComponent {
/**
* 打印XML
*
* @param document
*/
protected void printXML(Document document) {
if (log.isInfoEnabled()) {
OutputFormat format = OutputFormat.createPrettyPrint();
format.setExpandEmptyElements(true);
format.setSuppressDeclaration(true);
StringWriter stringWriter = new StringWriter();
XMLWriter writer = new XMLWriter(stringWriter, format);
try {
writer.write(document);
log.info(stringWriter.toString());
} catch (IOException e) {
e.printStackTrace();
}
}
}
/**
* 获取节点文本
*
* @param root
* @param name
* @return
*/
private Optional elementText(Element root, String name) {
Element element = root.element(name);
return Objects.nonNull(element) ? Optional.of(element.getTextTrim()) : Optional.empty();
}
/**
* 获取节点值
* @param root
* @param clazz
* @param name
* @return
*/
@SuppressWarnings("unchecked")
protected Optional
© 2015 - 2025 Weber Informatics LLC | Privacy Policy