/** * */ package name.webdizz.clt.crx.client.translation; import com.google.gwt.core.client.JavaScriptObject; /** * @author webdizz * */ public final class TranslationResultJs extends JavaScriptObject { protected TranslationResultJs() { } public static final native TranslationResultJs create(TranslationResult translationResult)/*-{ var src = translationResult.@name.webdizz.clt.crx.client.translation.TranslationResult::getSrc()(); var dest = translationResult.@name.webdizz.clt.crx.client.translation.TranslationResult::getDest()(); var srcLang = translationResult.@name.webdizz.clt.crx.client.translation.TranslationResult::getSrcLang()(); var destLang = translationResult.@name.webdizz.clt.crx.client.translation.TranslationResult::getDestLang()(); var translations = translationResult.@name.webdizz.clt.crx.client.translation.TranslationResult::getTranslations()(); var translationsJs = new Array(); if(translations){ for(var idx=0; idx < translations.@java.util.ArrayList::size()(); idx++){ translationsJs.push(@name.webdizz.clt.crx.client.translation.TranslationResultJs.Translation::create(Lname/webdizz/clt/crx/client/translation/TranslationResult$Translation;)(translations.@java.util.ArrayList::get(I)(idx))) } } return {src:src, dest:dest, srcLang:srcLang, destLang:destLang, translations:translationsJs}; }-*/; /** * @author webdizz * */ public final static class Translation extends JavaScriptObject { protected Translation() { } public static final native Translation create(TranslationResult.Translation translationFromResult)/*-{ var translation = translationFromResult.@name.webdizz.clt.crx.client.translation.TranslationResult.Translation::getTranslation()(); var explanations = translationFromResult.@name.webdizz.clt.crx.client.translation.TranslationResult.Translation::getExplanations()(); var explanationsJs = new Array(); if(explanations){ for(var idx=0; idx < explanations.@java.util.ArrayList::size()(); idx++){ explanationsJs.push(@name.webdizz.clt.crx.client.translation.TranslationResultJs.Explanation::create(Lname/webdizz/clt/crx/client/translation/TranslationResult$Explanation;)(explanations.@java.util.ArrayList::get(I)(idx))) } } return {translation:translation, explanations:explanationsJs}; }-*/; public native String getTranslation() /*-{ return this.translation; }-*/; public native void setTranslation(String translation) /*-{ this.translation = translation; }-*/; public native Explanation[] getExplanations() /*-{ return this.explanations; }-*/; public native void setExplanations(Explanation[] explanations) /*-{ this.explanations = explanations; }-*/; } public static final class Explanation extends JavaScriptObject { protected Explanation() { } public static final native Explanation create(TranslationResult.Explanation explanation) /*-{ return {explanation: explanation.@name.webdizz.clt.crx.client.translation.TranslationResult$Explanation::getExplanation()()}; }-*/; public native String getExplanation() /*-{ return this.explanation; }-*/; public native void setExplanation(String explanation) /*-{ this.explanation = explanation; }-*/; } /** * @return the src */ public native String getSrc() /*-{ return this.src; }-*/; /** * @param src * the src to set */ public native void setSrc(String src) /*-{ this.src = src; }-*/; /** * @return the dest */ public native String getDest() /*-{ return this.dest; }-*/; /** * @param dest * the dest to set */ public native void setDest(String dest) /*-{ this.dest = dest; }-*/; /** * @return the srcLang */ public native String getSrcLang() /*-{ return this.srcLang; }-*/; /** * @param srcLang * the srcLang to set */ public native void setSrcLang(String srcLang) /*-{ this.srcLang = srcLang; }-*/; /** * @return the destLang */ public native String getDestLang() /*-{ return this.destLang; }-*/; /** * @param destLang * the destLang to set */ public native void setDestLang(String destLang) /*-{ this.destLang = destLang; }-*/; /** * @return the translations */ public native Translation[] getTranslations()/*-{ return this.translations; }-*/; /** * @param translations * the translations to set */ public native void setTranslations(Translation[] translations) /*-{ this.translations = translations; }-*/; /** * Checks whether result has translation or no. * * @return true if result does not contain translations, false otherwise */ public native boolean isEmpty() /*-{ return !dest || !translations || translations.length<1; }-*/; }