/******************************************************************************* * Copyright (c) 2014 antoniomariasanchez at gmail.com. * All rights reserved. This program and the accompanying materials * are made available under the terms of the GNU Public License v3.0 * which accompanies this distribution, and is available at * http://www.gnu.org/licenses/gpl.html * * Contributors: * antoniomaria - initial API and implementation ******************************************************************************/ package net.sf.gazpachoquest.dto; import net.sf.gazpachoquest.dto.embeddables.QuestionOptionLanguageSettingsDTO; import net.sf.gazpachoquest.dto.support.AbstractIdentifiableDTO; import net.sf.gazpachoquest.dto.support.IdentifiableLocalizable; import net.sf.gazpachoquest.types.Language; @SuppressWarnings("serial") public class QuestionOptionDTO extends AbstractIdentifiableDTO implements IdentifiableLocalizable<QuestionOptionLanguageSettingsDTO> { private String code; private Language language; private QuestionOptionLanguageSettingsDTO languageSettings; public QuestionOptionDTO() { super(); } public String getCode() { return code; } @Override public Language getLanguage() { return language; } @Override public QuestionOptionLanguageSettingsDTO getLanguageSettings() { return languageSettings; } public void setCode(final String code) { this.code = code; } @Override public void setLanguage(final Language language) { this.language = language; } @Override public void setLanguageSettings(final QuestionOptionLanguageSettingsDTO languageSettings) { this.languageSettings = languageSettings; } public static class Builder { private String code; private Language language; private String title; public QuestionOptionDTO build() { QuestionOptionDTO questionOptionDTO = new QuestionOptionDTO(); questionOptionDTO.code = code; questionOptionDTO.languageSettings = new QuestionOptionLanguageSettingsDTO(); questionOptionDTO.languageSettings.setTitle(title); questionOptionDTO.language = language; return questionOptionDTO; } public Builder code(final String code) { this.code = code; return this; } public Builder language(final Language language) { this.language = language; return this; } public Builder title(final String title) { this.title = title; return this; } } public static Builder with() { return new Builder(); } }