42 lines
848 B
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();
|
|
}
|
|
|
|
}
|