001package de.monochromata.anaphors.ast.reference.strategy.concept;
002
003import de.monochromata.anaphors.ast.reference.strategy.AbstractReferentializationStrategy;
004import de.monochromata.anaphors.ast.spi.AnaphorsSpi;
005
006/**
007 * An abstract base class for strategies used to obtain referents based on
008 * information referring to the conceptual type (TODO:?) of the referent.
009 *
010 * @param <N>  The node type in the AST
011 * @param <E>  The expression type
012 * @param <TB> The type binding type
013 * @param <S>  The scope type (optional)
014 * @param <I>  The type used to represent identifiers
015 * @param <QI> The type used to represent qualified identifiers
016 * @param <EV> The type of the event contained in the condition that is
017 *             evaluated to check when the perspectivations shall be applied.
018 * @param <PP> The type used for positions that carry perspectivations
019 */
020public abstract class AbstractConceptReferentializationStrategy<N, E, TB, S, I, QI, EV, PP>
021        extends AbstractReferentializationStrategy<N, E, TB, S, I, QI, EV, PP>
022        implements ConceptReferentializationStrategy<E, TB, S, I, QI> {
023
024    /**
025     * Used in contract testing.
026     */
027    @SuppressWarnings("unused")
028    protected AbstractConceptReferentializationStrategy() {
029    }
030
031    public AbstractConceptReferentializationStrategy(final AnaphorsSpi<N, E, TB, S, I, QI, EV, PP> anaphorsSpi) {
032        super(anaphorsSpi);
033    }
034
035}