// Path: src/org/forecat/shared/SessionShared.java
// public interface SessionShared {
// 	public void setAttribute(String key, Object value);
// 
// 	public Object getAttribute(String key);
// 
// 	public String getId();
// }


import java.util.List;
import java.util.Map;
import org.forecat.client.exceptions.ForecatException;
import org.forecat.shared.SessionShared;
import org.forecat.shared.translation.SourceSegment;
package org.forecat.shared.suggestions;



public abstract class SuggestionsShared {

	protected int frame = 0;

	public abstract List<SuggestionsOutput> obtainSuggestions(SuggestionsInput input, Map<String, List<SourceSegment>> segmentPairs, Map<String, Integer> segmentCounts);

	public SuggestionsShared() {
		super();
	}

	public void setFrame(int f) {
		frame = f;
	}

// Path: src/org/forecat/shared/SessionShared.java
// public interface SessionShared {
// 	public void setAttribute(String key, Object value);
// 
// 	public Object getAttribute(String key);
// 
// 	public String getId();
// }


// Path: src/org/forecat/shared/suggestions/SuggestionsShared.java
import java.util.List;
import java.util.Map;
import org.forecat.client.exceptions.ForecatException;
import org.forecat.shared.SessionShared;
import org.forecat.shared.translation.SourceSegment;

package org.forecat.shared.suggestions;



public abstract class SuggestionsShared {

	protected int frame = 0;

	public abstract List<SuggestionsOutput> obtainSuggestions(SuggestionsInput input, Map<String, List<SourceSegment>> segmentPairs, Map<String, Integer> segmentCounts);

	public SuggestionsShared() {
		super();
	}

	public void setFrame(int f) {
		frame = f;
	}

	public List<SuggestionsOutput> suggestionsService(SuggestionsInput input, SessionShared session) throws ForecatException {