blob: 31f98e365795df99b4a94a19413964d902361690 (
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
31
32
|
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 java.util.Map
import org.eclipse.viatra.query.runtime.api.IPatternMatch
import org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher
import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PQuery
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, Map<String, PQuery> fqnToPQuery)
def RelationConstraintUpdater createConstraintUpdater(LinearTypeExpressionBuilderFactory builderFactory)
}
|