Package org.aperteworkflow.editor.processeditor.tab.dict.wrappers

Source Code of org.aperteworkflow.editor.processeditor.tab.dict.wrappers.XmlProcessDictionariesWrapper

package org.aperteworkflow.editor.processeditor.tab.dict.wrappers;

import pl.net.bluesoft.rnd.processtool.dict.xml.Dictionary;
import pl.net.bluesoft.rnd.processtool.dict.xml.ProcessDictionaries;
import pl.net.bluesoft.util.lang.cquery.func.F;
import pl.net.bluesoft.util.lang.cquery.func.P;

import java.util.Collection;
import java.util.List;

import static pl.net.bluesoft.util.lang.cquery.CQuery.from;

/**
* User: POlszewski
* Date: 2012-12-04
* Time: 10:52
*/
public class XmlProcessDictionariesWrapper {
  public static final String _DEFAULT_LANGUAGE = "defaultLanguage";
  public static final String _OVERWRITE = "overwrite";

  private final ProcessDictionaries processDictionaries;

  public XmlProcessDictionariesWrapper(ProcessDictionaries processDictionaries) {
    this.processDictionaries = processDictionaries;
  }

  public ProcessDictionaries getWrappedObject() {
    return processDictionaries;
  }

  public String getDefaultLanguage() {
    return processDictionaries.getDefaultLanguage();
  }

  public void setDefaultLanguage(String defaultLanguage) {
    processDictionaries.setDefaultLanguage(defaultLanguage);
  }

  public Boolean getOverwrite() {
    return processDictionaries.getOverwrite();
  }

  public void setOverwrite(Boolean overwrite) {
    processDictionaries.setOverwrite(overwrite);
  }

  public Collection<String> getDictionaryIds() {
    return from(processDictionaries.getDictionaries()).select(new F<Dictionary, String>() {
      @Override
      public String invoke(Dictionary x) {
        return x.getDictionaryId();
      }
    }).distinct().ordered();
  }

  public Collection<String> getLanguageCodes() {
    return from(processDictionaries.getDictionaries()).select(new F<Dictionary, String>() {
      @Override
      public String invoke(Dictionary x) {
        return x.getLanguageCode();
      }
    }).distinct().ordered();
  }

  public List<XmlDictionaryItemWrapper> getItems(final String dictionaryId, final String languageCode) {
    return getDictionary(dictionaryId, languageCode).getItems();
  }

  public XmlDictionaryWrapper getDictionary(final String dictionaryId, final String languageCode) {
    Dictionary dictionary = from(processDictionaries.getDictionaries()).where(new P<Dictionary>() {
      @Override
      public boolean invoke(Dictionary dictionary) {
        return dictionary.getDictionaryId().equals(dictionaryId) && dictionary.getLanguageCode().equals(languageCode);
      }
    }).firstOrDefault();
    if (dictionary == null) {
      dictionary = new Dictionary();
      dictionary.setDictionaryId(dictionaryId);
      dictionary.setLanguageCode(languageCode);
      processDictionaries.getDictionaries().add(dictionary);
    }
    return new XmlDictionaryWrapper(dictionary);
  }
}
TOP

Related Classes of org.aperteworkflow.editor.processeditor.tab.dict.wrappers.XmlProcessDictionariesWrapper

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.