doc[zfoo]: 更新文档

This commit is contained in:
jaysunxiao committed 2021-12-11 10:25:51 +08:00
1 parent 2591705158
commit 9aa1898c74
3 files changed
+49 -4

No files matched your search

+12
View File
@@ -142,6 +142,18 @@
<version>${zfoo.storage.version}</version>
</dependency>
<dependency>
<groupId>com.zfoo</groupId>
<artifactId>hotswap</artifactId>
<version>${zfoo.hotswap.version}</version>
</dependency>
<dependency>
<groupId>com.zfoo</groupId>
<artifactId>monitor</artifactId>
<version>${zfoo.monitor.version}</version>
</dependency>
<!-- slf4j-api -->
<dependency>
<groupId>org.slf4j</groupId>
@@ -15,6 +15,7 @@ package com.zfoo.protocol.util;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
import com.zfoo.protocol.collection.CollectionUtils;
import com.zfoo.protocol.exception.RunException;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
@@ -24,10 +25,7 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.*;
/**
* DOM(Document Object Model)文档对象模型
@@ -71,6 +69,35 @@ public abstract class DomUtils {
}
}
/**
* 获取包含有指定属性的Element
*/
public static List<Element> getElementsByAttribute(Element element, String attribute, String attributeValue) {
var elements = new ArrayList<Element>();
var queue = new LinkedList<Element>();
queue.add(element);
while (!queue.isEmpty()) {
var ele = queue.poll();
var eleClassName = ele.getAttribute(attribute);
if (StringUtils.isNotEmpty(eleClassName) && eleClassName.equalsIgnoreCase(attributeValue)) {
elements.add(ele);
continue;
}
var eles = DomUtils.getChildElements(ele);
if (CollectionUtils.isNotEmpty(eles)) {
for (var e : eles) {
queue.offer(e);
}
}
}
return elements;
}
/**
* 只返回第一层的孩子节点,不返回第一层孩子节点的孩子节点
* <p>
@@ -357,6 +357,12 @@ public abstract class TimeUtils {
return LocalDateTime.ofInstant(instant, zone);
}
// --------------------------------------时间大小判断--------------------------------------
public static boolean timeBetween(long time, long from, long end) {
return from <= time && time <= end;
}
// --------------------------------------cron表达式--------------------------------------
public static long nextTimestampByCronExpression(CronExpression expression, long currentTimestamp) {
var zonedDateTime = ZonedDateTime.ofInstant(Instant.ofEpochMilli(currentTimestamp), DEFAULT_ZONE_ID);