in java/main/src/main/java/com/epam/deltix/utilities/ResourceLoader.java [1041:1073]
private ResourceLoader fromInternal(final Class<?> clazz, final String resourcePathTemplate, final boolean substituteVariables) {
// Set resource path and perform basic validation
if (null == resourcePathTemplate)
throw new NullPointerException("resourcePathTemplate");
if (null != _resourcePattern)
throw argException("Resource path is already specified!");
if (null != _class) {
if (null != clazz && clazz != _class)
throw new IllegalArgumentException(fmt("Parent class is already set: %s", _class));
} else {
if (null != clazz)
_class = clazz;
else {
final Class<?> stackClass = VariablesMapper.tryDetectCaller();
_class = stackClass != null ? stackClass : this.getClass();
}
}
_resourcePathTemplate = resourcePathTemplate;
String resPattern = substituteVariables
? getVariablesMapper().substitute(resourcePathTemplate) : resourcePathTemplate;
if (!Pattern.matches("\\w+:.+", resPattern))
resPattern = "glob:" + resPattern;
_resourcePatternStr = resPattern;
_resourcePattern = FileSystems.getDefault().getPathMatcher(resPattern);
return this;
}