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 }