@Data(value=)
public abstract class AlgebraicDataType
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
static interface |
AlgebraicDataType.Case<R> |
| Modifier and Type | Method and Description |
|---|---|
static AlgebraicDataType |
adt(TypeConstructor typeConstructor,
MatchMethod matchMethod,
DataConstruction dataConstruction,
java.util.List<DataArgument> fields) |
DataConstruction |
dataConstruction() |
java.util.List<DataArgument> |
fields() |
abstract <R> R |
match(AlgebraicDataType.Case<R> adt) |
MatchMethod |
matchMethod() |
TypeConstructor |
typeConstructor() |
public static AlgebraicDataType adt(TypeConstructor typeConstructor, MatchMethod matchMethod, DataConstruction dataConstruction, java.util.List<DataArgument> fields)
public abstract <R> R match(AlgebraicDataType.Case<R> adt)
public TypeConstructor typeConstructor()
public MatchMethod matchMethod()
public DataConstruction dataConstruction()
public java.util.List<DataArgument> fields()