package de.rwth.idsg.bikeman.ixsi.processor.api;
import com.google.common.base.Optional;
import de.rwth.idsg.ixsi.jaxb.UserTriggeredRequestChoice;
import de.rwth.idsg.ixsi.jaxb.UserTriggeredResponseChoice;
import xjc.schema.ixsi.ErrorType;
import xjc.schema.ixsi.Language;
import xjc.schema.ixsi.UserInfoType;
/**
* @author Sevket Goekay <goekay@dbis.rwth-aachen.de>
* @since 16.10.2014
*/
public interface UserRequestProcessor<T1 extends UserTriggeredRequestChoice,
T2 extends UserTriggeredResponseChoice> extends ClassAwareProcessor<T1> {
T2 processAnonymously(T1 request, Optional<Language> lan);
T2 processForUser(T1 request, Optional<Language> lan,
UserInfoType userInfo);
T2 buildError(ErrorType e);
}