StandardConfigDataReference Class — spring-boot Architecture
Architecture documentation for the StandardConfigDataReference class in StandardConfigDataReference.java from the spring-boot codebase.
Entity Profile
Relationship Graph
Source Code
core/spring-boot/src/main/java/org/springframework/boot/context/config/StandardConfigDataReference.java lines 33–125
class StandardConfigDataReference {
private final ConfigDataLocation configDataLocation;
private final String resourceLocation;
private final @Nullable String directory;
private final @Nullable String profile;
private final PropertySourceLoader propertySourceLoader;
private final @Nullable Charset encoding;
/**
* Create a new {@link StandardConfigDataReference} instance.
* @param configDataLocation the original location passed to the resolver
* @param directory the directory of the resource or {@code null} if the reference is
* to a file
* @param root the root of the resource location
* @param profile the profile being loaded
* @param extension the file extension for the resource
* @param propertySourceLoader the property source loader that should be used for this
* reference
* @param encoding the encoding of the resource
*/
StandardConfigDataReference(ConfigDataLocation configDataLocation, @Nullable String directory, String root,
@Nullable String profile, @Nullable String extension, PropertySourceLoader propertySourceLoader,
@Nullable Charset encoding) {
this.configDataLocation = configDataLocation;
String profileSuffix = (StringUtils.hasText(profile)) ? "-" + profile : "";
this.resourceLocation = root + profileSuffix + ((extension != null) ? "." + extension : "");
this.directory = directory;
this.profile = profile;
this.propertySourceLoader = propertySourceLoader;
this.encoding = encoding;
}
ConfigDataLocation getConfigDataLocation() {
return this.configDataLocation;
}
String getResourceLocation() {
return this.resourceLocation;
}
boolean isMandatoryDirectory() {
return !this.configDataLocation.isOptional() && this.directory != null;
}
@Nullable String getDirectory() {
return this.directory;
}
@Nullable String getProfile() {
return this.profile;
}
@Nullable Charset getEncoding() {
return this.encoding;
}
boolean isSkippable() {
return this.configDataLocation.isOptional() || this.directory != null || this.profile != null;
}
PropertySourceLoader getPropertySourceLoader() {
return this.propertySourceLoader;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if ((obj == null) || (getClass() != obj.getClass())) {
return false;
}
StandardConfigDataReference other = (StandardConfigDataReference) obj;
return this.resourceLocation.equals(other.resourceLocation);
}
@Override
public int hashCode() {
return this.resourceLocation.hashCode();
}
@Override
public String toString() {
return this.resourceLocation;
}
}
Domain
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free