All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.ow2.bonita.util.BusinessArchiveFactory Maven / Gradle / Ivy

package org.ow2.bonita.util;

import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;

import org.ow2.bonita.util.Misc;

public final class BusinessArchiveFactory {

  private BusinessArchiveFactory() { }

  public static void generateBusinessArchiveFile(final File barFile, final Map resources) throws IOException {
    Misc.checkArgsNotNull(barFile, resources);
    generateBusinessArchiveFile(barFile, getBusinessArchiveContent(resources));
  }
  
  public static void generateBusinessArchiveFile(final File barFile, final byte[] barContent) throws IOException {
    Misc.checkArgsNotNull(barFile, barContent);
    Misc.write(barFile, barContent);
  }
  
  public static byte[] getBusinessArchiveContent(final Map resources) throws IOException {
    Misc.checkArgsNotNull(resources);
    return Misc.generateJar(resources);
  }
  
  public static byte[] getBusinessArchiveContent(final URL xpdlURL, final Class< ? >... classes) throws IOException {
    Misc.checkArgsNotNull(xpdlURL);
    return getBusinessArchiveContent(xpdlURL.toString(), Misc.getAllContentFrom(xpdlURL), classes);
  }
  
  public static byte[] getBusinessArchiveContent(final byte[] xpdlContent, final Class< ? >... classes) throws IOException {
    return getBusinessArchiveContent("xpdlFile.xpdl", xpdlContent, classes);
  }
  
  public static byte[] getBusinessArchiveContent(final String xpdlFileName,
      final byte[] xpdlContent, final Class< ? >... classes) throws IOException {
    Misc.checkArgsNotNull(xpdlFileName, xpdlContent);
    Map resources = new HashMap();
    resources.put(xpdlFileName, xpdlContent);
    if (classes != null && classes.length > 0) {
      resources.putAll(Misc.getResources(classes));
    }
    return getBusinessArchiveContent(resources);
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy