Class TranslateLanguageManifest

java.lang.Object
com.e1c.langtool.v8.dt.projectsettings.TranslateLanguageManifest

public final class TranslateLanguageManifest extends Object
Utility class for serializing/deserializing a V8TranslateLanguage model.

The default schema of storing language models is: {project-name}/src/Languages/{language-name}/{language-name}.tlx

  • Method Summary

    Modifier and Type
    Method
    Description
    static void
    delete(org.eclipse.core.resources.IFile lanuguageFile, org.eclipse.core.runtime.IProgressMonitor progressMonitor)
    Deletes the given language model file.
    static void
    delete(org.eclipse.core.resources.IFolder parentFolder, String languageName, org.eclipse.core.runtime.IProgressMonitor monitor)
    Deletes a language model file in the given parent folder by the name of language.
    static void
    delete(org.eclipse.core.resources.IProject project, String languageName, org.eclipse.core.runtime.IProgressMonitor monitor)
    Deletes a language model file for the given project by language name.
    static org.eclipse.core.resources.IFile
    getFile(org.eclipse.core.resources.IProject project, V8TranslateLanguage language)
     
    static org.eclipse.emf.common.util.URI
    getUri(org.eclipse.core.resources.IFile file)
     
    load(org.eclipse.core.resources.IFile file)
    Loads a language from the given file.
    loadAll(org.eclipse.core.resources.IFolder dtInfFolder)
    Loads all languages for the given project.
    loadAll(org.eclipse.core.resources.IProject project)
    Loads all languages for the given project.
    loadAllIfAccessible(org.eclipse.core.resources.IProject project)
    Loads all languages for the given project if any language model file exist.
    static byte[]
    save(org.eclipse.core.resources.IFile file, V8TranslateLanguage translateLanguage, com.google.common.hash.HashFunction hashFunction, org.eclipse.core.runtime.IProgressMonitor monitor)
    Saves the translate language to the given file.
    static void
    save(org.eclipse.core.resources.IProject project, V8TranslateLanguage translateLanguage, org.eclipse.core.runtime.IProgressMonitor monitor)
    Saves the language in the default folder (see TranslateLanguageConstants.FOLDER_PATH_SRC_LANGUAGES of the given project.
    static void
    saveAll(org.eclipse.core.resources.IFolder parentFolder, Collection<V8TranslateLanguage> languages)
    Saves the collection of languages in the given folder.
    static void
    saveAll(org.eclipse.core.resources.IProject project, Collection<V8TranslateLanguage> languages, org.eclipse.core.runtime.IProgressMonitor monitor)
    Saves the collection of languages in the default folder (see TranslateLanguageConstants.FOLDER_PATH_SRC_LANGUAGES of the given project.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • getUri

      public static org.eclipse.emf.common.util.URI getUri(org.eclipse.core.resources.IFile file)
    • getFile

      public static org.eclipse.core.resources.IFile getFile(org.eclipse.core.resources.IProject project, V8TranslateLanguage language)
    • delete

      public static void delete(org.eclipse.core.resources.IFile lanuguageFile, org.eclipse.core.runtime.IProgressMonitor progressMonitor)
      Deletes the given language model file.
      Parameters:
      lanuguageFile - a language model file
      progressMonitor - a progress monitor
      Throws:
      ManifestException - if the given file for a language is not accessible or some errors occurred while deleting the file
    • delete

      public static void delete(org.eclipse.core.resources.IProject project, String languageName, org.eclipse.core.runtime.IProgressMonitor monitor)
      Deletes a language model file for the given project by language name.

      Note that it also deletes a parent folder for language model files if it becomes empty after removing the given language.

      Parameters:
      project - a project which contains a file to delete
      languageName - a name of deleting language
      monitor - a progress monitor
      Throws:
      ManifestException - if the given file for a language is not accessible or some errors occurred while deleting the file
    • delete

      public static void delete(org.eclipse.core.resources.IFolder parentFolder, String languageName, org.eclipse.core.runtime.IProgressMonitor monitor)
      Deletes a language model file in the given parent folder by the name of language.
      Parameters:
      parentFolder - a parent folder for all language files
      languageName - a name of language to delete
      monitor - a progress monitor
      Throws:
      ManifestException - if the given file for a language is not accessible or some errors occurred while deleting the file
    • saveAll

      public static void saveAll(org.eclipse.core.resources.IFolder parentFolder, Collection<V8TranslateLanguage> languages)
      Saves the collection of languages in the given folder.
      Parameters:
      parentFolder - a folder where to save a language files
      languages - a collection of languages to save
      Throws:
      ManifestException - if some errors occurred while saving the files
    • save

      public static byte[] save(org.eclipse.core.resources.IFile file, V8TranslateLanguage translateLanguage, com.google.common.hash.HashFunction hashFunction, org.eclipse.core.runtime.IProgressMonitor monitor)
      Saves the translate language to the given file.
      Parameters:
      project - the file to save the language
      language - the language to save
      monitor - a progress monitor
      Throws:
      ManifestException - if some errors occurred while saving the file
    • saveAll

      public static void saveAll(org.eclipse.core.resources.IProject project, Collection<V8TranslateLanguage> languages, org.eclipse.core.runtime.IProgressMonitor monitor)
      Saves the collection of languages in the default folder (see TranslateLanguageConstants.FOLDER_PATH_SRC_LANGUAGES of the given project.
      Parameters:
      project - a project where to save a language files
      languages - a collection of languages to save
      monitor - a progress monitor
      Throws:
      ManifestException - if some errors occurred while saving the files
    • save

      public static void save(org.eclipse.core.resources.IProject project, V8TranslateLanguage translateLanguage, org.eclipse.core.runtime.IProgressMonitor monitor)
      Saves the language in the default folder (see TranslateLanguageConstants.FOLDER_PATH_SRC_LANGUAGES of the given project.
      Parameters:
      project - a project where to save a language file
      language - a language to save
      monitor - a progress monitor
      Throws:
      ManifestException - if some errors occurred while saving the file
    • load

      public static V8TranslateLanguage load(org.eclipse.core.resources.IFile file)
      Loads a language from the given file.
      Parameters:
      file - a file that contains a language model to load
      Returns:
      a loaded language model
      Throws:
      ManifestException - if the given project is not accessible or some errors occurred while loading the file
    • loadAllIfAccessible

      public static List<V8TranslateLanguage> loadAllIfAccessible(org.eclipse.core.resources.IProject project)
      Loads all languages for the given project if any language model file exist.

      In opposite to loadAll(IProject) this method doesn't throw an exception in case when project or default parent folder is not accessible.

      Parameters:
      project - a project that contains a language model files to load
      Returns:
      a list of loaded language model files
      Throws:
      ManifestException - if the given project is not accessible or some errors occurred while loading the file
    • loadAll

      public static List<V8TranslateLanguage> loadAll(org.eclipse.core.resources.IProject project)
      Loads all languages for the given project.
      Parameters:
      project - a project that contains a language model files to load
      Returns:
      a list of loaded language model files
      Throws:
      ManifestException - if the given project is not accessible or some errors occurred while loading the file
    • loadAll

      public static List<V8TranslateLanguage> loadAll(org.eclipse.core.resources.IFolder dtInfFolder)
      Loads all languages for the given project.
      Parameters:
      project - a project that contains a language model files to load
      Returns:
      a list of loaded language model files
      Throws:
      ManifestException - if the given project is not accessible or some errors occurred while loading the file