001 package com.hammurapi.review;
002
003 import com.hammurapi.util.Context;
004
005 /**
006 * Language module creates a model from sources.
007 * @author Pavel Vlasov
008 * @param <S> Source type.
009 * @param <M> Model type.
010 */
011 public interface LanguageModule<S, M> {
012
013 /**
014 * Loads source(s) to produce model.
015 * @param source Source(s)
016 * @param context Context.
017 * @return Model.
018 * @throws ReviewException
019 */
020 M load(S source, Context context) throws ReviewException;
021 }