blob: c309fa77f5cad8b51e480615473e9d0d0159ec7b [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2004-2008 Gabor Bergmann and Daniel Varro
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Gabor Bergmann - initial API and implementation
*******************************************************************************/
package org.eclipse.viatra2.gtasm.patternmatcher.incremental.adapters;
import java.util.Map;
import org.eclipse.viatra2.gtasm.patternmatcher.incremental.rete.construction.Buildable;
import org.eclipse.viatra2.gtasm.patternmatcher.incremental.rete.construction.RetePatternBuildException;
import org.eclipse.viatra2.gtasm.patternmatcher.incremental.rete.construction.Stub;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.terms.Term;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.gt.GTPattern;
/**
* @author Bergmann Gábor
*
*/
public interface GTASMBuildable<StubHandle, Collector> extends Buildable<GTPattern, StubHandle, Collector> {
public Stub<StubHandle> buildGTASMTermChecker(Term term,
Map<String, Integer> variableIndices,
Map<String, String> variableEquivalence,
Integer rhsIndex,
Stub<StubHandle> stub) throws RetePatternBuildException;
public GTASMBuildable<StubHandle, Collector> getNextContainer();
public GTASMBuildable<StubHandle, Collector> putOnTab(GTPattern effort);
}