package net.sf.gazpachoquest.questionnaires.components.question;
import javax.inject.Inject;
import net.sf.gazpachoquest.dto.QuestionDTO;
import net.sf.gazpachoquest.questionnaires.events.AnswerSavedEvent;
import com.vaadin.ui.CustomComponent;
import com.vaadin.ui.VerticalLayout;
// @Named
// @SessionScoped
public abstract class AbstractQuestionComponent extends CustomComponent implements QuestionComponent {
private static final long serialVersionUID = -2274020487486737492L;
@Inject
protected javax.enterprise.event.Event<AnswerSavedEvent> answerSavedEvent;
protected VerticalLayout content;
protected QuestionDTO questionDTO;
protected AbstractQuestionComponent() {
super();
content = new VerticalLayout();
setSizeUndefined();
// The composition root MUST be set
setCompositionRoot(content);
}
public VerticalLayout getContent() {
return content;
}
public void setContent(VerticalLayout content) {
this.content = content;
}
public QuestionDTO getQuestionDTO() {
return questionDTO;
}
@Override
public void setQuestionDTO(QuestionDTO questionDTO) {
this.questionDTO = questionDTO;
}
protected abstract void init();
}