package com.door43.translationstudio.newui.publish; import com.door43.translationstudio.core.SourceLanguage; import com.door43.translationstudio.core.TargetLanguage; import com.door43.translationstudio.core.TranslationFormat; /** * A thin wrapper to represent a validation set on a translation */ public class ValidationItem { private final String mTitle; private final String mBody; private final boolean mRange; private final boolean mValid; private final boolean mIsFrame; private String mTargetTranslationId; private String mChapterId; private String mFrameId; private TargetLanguage bodyLanguage; private SourceLanguage titleLanguage; private TranslationFormat bodyFormat; private ValidationItem(String title, SourceLanguage titleLanguage, String body, boolean range, boolean valid, boolean isFrame) { mTitle = title; mBody = body; mRange = range; mValid = valid; mIsFrame = isFrame; this.titleLanguage = titleLanguage; } /** * Generates a new valid item * @param title * @param range * @return */ public static ValidationItem generateValidFrame(String title, SourceLanguage titleLanguage, boolean range) { return new ValidationItem(title,titleLanguage, "", range, true, true); } /** * Generates a new valid item * @param title * @param range * @return */ public static ValidationItem generateValidGroup(String title, SourceLanguage titleLanguage, boolean range) { return new ValidationItem(title, titleLanguage, "", range, true, false); } /** * Generates a new invalid item * @param title * @param body * @param bodyLanguage * @param targetTranslationId * @param chapterId * @param frameId * @return */ public static ValidationItem generateInvalidFrame(String title, SourceLanguage titleLanguage, String body, TargetLanguage bodyLanguage, TranslationFormat bodyFormat, String targetTranslationId, String chapterId, String frameId) { ValidationItem item = new ValidationItem(title, titleLanguage, body, false, false, true); item.mTargetTranslationId = targetTranslationId; item.mChapterId = chapterId; item.mFrameId = frameId; item.bodyFormat = bodyFormat; item.bodyLanguage = bodyLanguage; return item; } /** * Generates a new invalid item * For our purposes a group can be either a chapter or a project * @param title * @return */ public static ValidationItem generateInvalidGroup(String title, SourceLanguage titleLanguage) { return new ValidationItem(title, titleLanguage, "", false, false, false); } /** * Returns the title of the validation item * @return */ public String getTitle() { return mTitle; } /** * Returns the body text of the validation item * this only applies to invalid items * @return */ public String getBody() { return mBody; } /** * Checks if the validation item is over a range * @return */ public boolean isRange() { return mRange; } /** * Checks if the validation item is valid * @return */ public boolean isValid() { return mValid; } /** * Checks if the validation items represents a frame * @return */ public boolean isFrame() { return mIsFrame; } /** * Returns the target translation id * @return */ public String getTargetTranslationId() { return mTargetTranslationId; } /** * Returns the chapter id * @return */ public String getChapterId() { return mChapterId; } /** * Returns the frame id * @return */ public String getFrameId() { return mFrameId; } /** * Returns the translation format of the body * @return */ public TargetLanguage getBodyLanguage() { return bodyLanguage; } public TranslationFormat getBodyFormat() { return bodyFormat; } public SourceLanguage getTitleLanguage() { return titleLanguage; } }