35 lines
905 B
Java
35 lines
905 B
Java
package de.ph87.data.view.tree;
|
|
|
|
import lombok.Getter;
|
|
import lombok.NonNull;
|
|
import lombok.ToString;
|
|
|
|
@Getter
|
|
@ToString
|
|
public abstract class ViewDto {
|
|
|
|
public final String _type_;
|
|
|
|
public final String uuid;
|
|
|
|
public final String name;
|
|
|
|
protected ViewDto(@NonNull final View view) {
|
|
this._type_ = view.get_type_();
|
|
this.uuid = view.getUuid();
|
|
this.name = view.getName();
|
|
}
|
|
|
|
@NonNull
|
|
public static ViewDto map(@NonNull final View view) {
|
|
return switch (view) {
|
|
case final ViewLiteral viewLiteral -> new ViewLiteralDto(viewLiteral);
|
|
case final ViewSeries viewSeries -> new ViewSeriesDto(viewSeries);
|
|
case final ViewUnary viewUnary -> new ViewUnaryDto(viewUnary);
|
|
case final ViewBinary viewBinary -> new ViewBinaryDto(viewBinary);
|
|
default -> throw new RuntimeException("DTO mapping of View type not implemented: " + view.getClass());
|
|
};
|
|
}
|
|
|
|
}
|