/* * codjo.net * * Common Apache License 2.0 */ package net.codjo.broadcast.common; import net.codjo.broadcast.common.computed.ComputedContext; import net.codjo.sql.builder.JoinKey; /** * Classe d'adaptation du contexte ComputedContext. * * @author $Author: gonnot $ * @version $Revision: 1.2 $ */ public class ComputedContextAdapter extends ContextAdapter implements ComputedContext { private Preferences pref; public ComputedContextAdapter(Preferences preferences, Context context) { super(context); pref = preferences; } public String getBroadcastTableName() { return pref.getBroadcastTableName(); } public String getComputedTableName() { return pref.getComputedTableName(); } public String getSelectionTableName() { return pref.getSelectionTableName(); } public String joinToBroadcastTable() { JoinKey ajoinkey = (JoinKey)pref.getConfig().getJoinKeyMap().get(pref.getBroadcastTableName()); String clause = ajoinkey.buildJoinClause(); return pref.getComputedTableName() + " inner join " + pref.getSelectionTableName() + " on " + pref.getComputedTableName() + ".SELECTION_ID" + " = " + pref.getSelectionTableName() + ".SELECTION_ID" + " inner join " + pref.getBroadcastTableName() + " on " + clause; } }