blob: 8c21ca1d917302257e1254e4cc731be680b9495f (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
package hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.cardinality
import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.patterns.PatternGenerator
import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
import org.eclipse.viatra.query.runtime.api.IPatternMatch
import org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher
interface LinearTypeExpressionBuilderFactory {
def ViatraQueryMatcher<? extends IPatternMatch> createMatcher(String queryName)
def LinearTypeExpressionBuilder createBuilder()
}
interface LinearTypeExpressionBuilder {
def LinearTypeExpressionBuilder add(int scale, Type type)
def LinearBoundedExpression build()
}
@FunctionalInterface
interface RelationConstraintUpdater {
def void update(PartialInterpretation p)
}
interface LinearTypeConstraintHint {
def CharSequence getAdditionalPatterns(PatternGenerator patternGenerator)
def RelationConstraintUpdater createConstraintUpdater(LinearTypeExpressionBuilderFactory builderFactory)
}
|