package com.constellio.model.entities.records;
import com.constellio.model.entities.schemas.Metadata;
@SuppressWarnings("serial")
public class RecordRuntimeException extends RuntimeException {
private RecordRuntimeException(String message, Throwable cause) {
super(message, cause);
}
private RecordRuntimeException(String message) {
super(message);
}
private RecordRuntimeException(Throwable cause) {
super(cause);
}
public static class RecordIsAlreadySaved extends RecordRuntimeException {
public RecordIsAlreadySaved(String id) {
super("Record with id '" + id + "' is already saved");
}
}
public static class CannotModifyADisconnectedRecord extends RecordRuntimeException {
public CannotModifyADisconnectedRecord(String id) {
super("Cannot modify disconnected record with id '" + id + "'");
}
}
public static class CannotMerge extends RecordRuntimeException {
public CannotMerge(String schema, String id, String metadataCode, Object newValue, Object value) {
super("Record of schema '" + schema + "' with id '" + id + "' cannot merge metadata '" + metadataCode
+ "' because it was modified to '" + newValue
+ "' at the same time it was modified to '" + value + "'");
}
}
public static class CannotChangeId extends RecordRuntimeException {
public CannotChangeId() {
super("Cannot change id once it has been set");
}
}
public static class RecordDTORequired extends RecordRuntimeException {
public RecordDTORequired() {
super("RecordDTO is required for refresh");
}
}
public static class RequiredMetadataArgument extends RecordRuntimeException {
public RequiredMetadataArgument() {
super("Metadata argument is required");
}
}
public static class CannotSetManualValueInAutomaticField extends RecordRuntimeException {
public CannotSetManualValueInAutomaticField(Metadata metadata) {
super("Cannot set manual value in automatic metadata '" + metadata.getCode() + "'");
}
}
public static class CannotSetCollectionInSingleValueMetadata extends RecordRuntimeException {
public CannotSetCollectionInSingleValueMetadata(Metadata metadata) {
super("Cannot set collection value in single value metadata '" + metadata.getCode() + "'");
}
}
public static class CannotSetNonListValueInMultivalueMetadata extends RecordRuntimeException {
public CannotSetNonListValueInMultivalueMetadata(Metadata metadata, Class<?> clazz) {
super("Cannot set non-collection value of type '" + clazz.getName() + "' in multivalue value metadata '"
+ metadata.getCode() + "'");
}
}
public static class InvalidMetadata extends RecordRuntimeException {
public InvalidMetadata(String code) {
super("Invalid metadata '" + code + "'");
}
}
public static class RecordRuntimeException_CannotModifyId extends RecordRuntimeException {
public RecordRuntimeException_CannotModifyId() {
super("Cannot modify id");
}
}
public static class RecordRuntimeException_ValueHasBadFormat extends RecordRuntimeException {
public RecordRuntimeException_ValueHasBadFormat(String value, String format) {
super("Invalid value '" + value + "'. Expected format is '" + format + "'");
}
}
}