resource-manager/resource-manager-api/src/main/java/de/nclazz/resources/ResourceMapping.java

42 lines
848 B
Java

package de.nclazz.resources;
import lombok.Builder;
import lombok.Data;
import lombok.Singular;
import java.util.Optional;
import java.util.Set;
@Builder
@Data
public class ResourceMapping {
public enum Option {
REQUIRED
}
private String label;
private String description;
private Resource defaultResource;
private Resource definedResource;
@Singular
private Set<Option> options;
public boolean exists() {
return this.definedResource != null || this.defaultResource != null;
}
public Optional<Resource> fetchResource() {
if (this.definedResource != null) {
return Optional.of(this.definedResource);
}
if (this.defaultResource != null) {
return Optional.of(this.defaultResource);
}
return Optional.empty();
}
}