Interface VariableMetaModel<Solution_,Entity_,Value_>
- Type Parameters:
Solution_-Entity_-Value_-
- All Known Subinterfaces:
GenuineVariableMetaModel<Solution_,,Entity_, Value_> PlanningListVariableMetaModel<Solution_,,Entity_, Value_> PlanningVariableMetaModel<Solution_,,Entity_, Value_> ShadowVariableMetaModel<Solution_,Entity_, Value_>
- All Known Implementing Classes:
DefaultPlanningListVariableMetaModel,DefaultPlanningVariableMetaModel,DefaultShadowVariableMetaModel
public sealed interface VariableMetaModel<Solution_,Entity_,Value_>
permits GenuineVariableMetaModel<Solution_,Entity_,Value_>, ShadowVariableMetaModel<Solution_,Entity_,Value_>
Describes a variable in the domain model.
See extending interfaces for more specific types of variables.
This package and all of its contents are part of the Move Streams API, which is under development and is only offered as a preview feature. There are no guarantees for backward compatibility; any class, method or field may change or be removed without prior notice, although we will strive to avoid this as much as possible.
We encourage you to try the API and give us feedback on your experience with it, before we finalize the API. Please direct your feedback to Timefold Solver Github.
-
Method Summary
Modifier and TypeMethodDescription@NonNull PlanningEntityMetaModel<Solution_,Entity_> entity()Describes the entity that owns this variable.default booleanWhether this variable is a genuine variable.default booleanisList()Whether this variable is a @PlanningListVariableor aPlanningVariable.@NonNull Stringname()Describes the name of this variable, which is typically a field name in the entity.type()Describes the type of the value that this variable can hold.
-
Method Details
-
entity
@NonNull PlanningEntityMetaModel<Solution_,Entity_> entity()Describes the entity that owns this variable.- Returns:
- never null
-
type
Describes the type of the value that this variable can hold.- Returns:
- never null
-
name
@NonNull String name()Describes the name of this variable, which is typically a field name in the entity.- Returns:
- never null
-
isList
default boolean isList()Whether this variable is a @PlanningListVariableor aPlanningVariable. If list, this is guaranteed to extendPlanningListVariableMetaModel. Otherwise it is guaranteed to extend eitherPlanningVariableMetaModelorShadowVariableMetaModel.- Returns:
- true if this variable is a genuine @
PlanningListVariable, false otherwise
-
isGenuine
default boolean isGenuine()Whether this variable is a genuine variable. If genuine, this is guaranteed to extend eitherPlanningVariableMetaModelorPlanningListVariableMetaModel. Otherwise it is guaranteed to extendShadowVariableMetaModel.- Returns:
- true if this variable is genuine, false otherwise
-