style: 添加 SpringBootVFS 注释,格式化代码。

This commit is contained in:
Suomm 2023-06-28 10:12:08 +08:00
parent 22763670ca
commit 4ec9980999

View File

@ -1,4 +1,4 @@
/** /*
* Copyright (c) 2022-2023, Mybatis-Flex (fuhai999@gmail.com). * Copyright (c) 2022-2023, Mybatis-Flex (fuhai999@gmail.com).
* <p> * <p>
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
@ -31,44 +31,29 @@ import java.util.stream.Collectors;
import java.util.stream.Stream; import java.util.stream.Stream;
/** /**
* Mybatis VFS 支持 * MyBatis VFS 支持
*/ */
public class SpringBootVFS extends VFS { public class SpringBootVFS extends VFS {
private static Charset urlDecodingCharset; private static Charset urlDecodingCharset;
private final ResourcePatternResolver resourceResolver;
static { static {
setUrlDecodingCharset(Charset.defaultCharset()); setUrlDecodingCharset(Charset.defaultCharset());
} }
private final ResourcePatternResolver resourceResolver;
public SpringBootVFS() { public SpringBootVFS() {
this.resourceResolver = new PathMatchingResourcePatternResolver(getClass().getClassLoader()); this.resourceResolver = new PathMatchingResourcePatternResolver(getClass().getClassLoader());
} }
@Override
public boolean isValid() {
return true;
}
@Override
protected List<String> list(URL url, String path) throws IOException {
String urlString = URLDecoder.decode(url.toString(), urlDecodingCharset.name());
String baseUrlString = urlString.endsWith("/") ? urlString : urlString.concat("/");
Resource[] resources = resourceResolver.getResources(baseUrlString + "**/*.class");
return Stream.of(resources).map(resource -> preserveSubpackageName(baseUrlString, resource, path))
.collect(Collectors.toList());
}
/** /**
* Set the charset for decoding an encoded URL string. * Set the charset for decoding an encoded URL string.
* <p> * <p>
* Default is system default charset. * Default is system default charset.
* </p> * </p>
* *
* @param charset * @param charset the charset for decoding an encoded URL string
* the charset for decoding an encoded URL string
*
* @since 2.3.0 * @since 2.3.0
*/ */
public static void setUrlDecodingCharset(Charset charset) { public static void setUrlDecodingCharset(Charset charset) {
@ -86,4 +71,18 @@ public class SpringBootVFS extends VFS {
} }
} }
@Override
public boolean isValid() {
return true;
}
@Override
protected List<String> list(URL url, String path) throws IOException {
String urlString = URLDecoder.decode(url.toString(), urlDecodingCharset.name());
String baseUrlString = urlString.endsWith("/") ? urlString : urlString.concat("/");
Resource[] resources = resourceResolver.getResources(baseUrlString + "**/*.class");
return Stream.of(resources).map(resource -> preserveSubpackageName(baseUrlString, resource, path))
.collect(Collectors.toList());
}
} }