Class Statements

java.lang.Object
org.jclouds.scriptbuilder.domain.Statements

public class Statements extends Object
Statements used in shell scripts.
  • Constructor Details

    • Statements

      public Statements()
  • Method Details

    • newStatementList

      public static Statement newStatementList(Statement... statements)
    • switchArg

      public static Statement switchArg(int arg, Map<String,Statement> valueToActions)
    • rm

      public static Statement rm(String path)
    • call

      public static Statement call(String function, String... args)
    • appendFile

      public static Statement appendFile(String path, String line, String delimiter)
    • appendFile

      public static Statement appendFile(String path, Iterable<String> lines)
    • appendFile

      public static Statement appendFile(String path, Iterable<String> lines, String delimiter)
    • createOrOverwriteFile

      public static Statement createOrOverwriteFile(String path, Iterable<String> lines)
    • createOrOverwriteFile

      public static Statement createOrOverwriteFile(String path, Iterable<String> lines, String delimiter)
    • createRunScript

      public static CreateRunScript createRunScript(String instanceName, Iterable<String> exports, String pwd, Iterable<Statement> statements)
      Parameters:
      exports - variable names to export in UPPER_UNDERSCORE case format
    • findPid

      public static Statement findPid(String args)
      Stores the pid into the variable FOUND_PID if successful.
      Parameters:
      args - - what to search for in the process tree.
    • forget

      public static Statement forget(String instanceName, String script, String logDir)
      Runs the script in a way that it can be matched later with findPid(java.lang.String)
      Parameters:
      instanceName - - what to match the process on
      script - - what to run in the background
      logDir - - where to write the following logs:
      1. stdout.log
      2. stderr.log
    • kill

      public static Statement kill()
      Kills the pid and subprocesses related to the variable FOUND_PID if set.
      See Also:
    • interpret

      public static Statement interpret(String... portableStatements)
      statement can have multiple newlines, note you should use lf to be portable
      See Also:
    • literal

      public static Statement literal(String literalStatement)
      sends statement only appending a newline
    • exec

      public static Statement exec(String portableStatement)
      interprets and adds a newline to the statement
    • extractTargzIntoDirectory

      public static Statement extractTargzIntoDirectory(String method, URI endpoint, com.google.common.collect.Multimap<String,String> headers, String directory)
      untar, ungzip the data received from the request parameters.
      Parameters:
      method - http method: ex GET
      endpoint - uri corresponding to the request
      headers - request headers to send
      directory -
    • extractTargzAndFlattenIntoDirectory

      public static Statement extractTargzAndFlattenIntoDirectory(URI tgz, String dest)
      like extractTargzIntoDirectory(URI, String) except that it flattens the first directory in the archive For example, apache-maven-3.0.4-bin.tar.gz normally extracts directories like ./apache-maven-3.0.4/bin. This command eliminates the intermediate directory, in the example ./apache-maven-3.0.4/
      Parameters:
      tgz - remote ref to download
      dest - path where the files in the intermediate directory will end
    • extractTargzIntoDirectory

      public static Statement extractTargzIntoDirectory(URI targz, String directory)
    • extractZipIntoDirectory

      public static Statement extractZipIntoDirectory(String method, URI endpoint, com.google.common.collect.Multimap<String,String> headers, String directory)
      unzip the data received from the request parameters.
      Parameters:
      method - http method: ex GET
      endpoint - uri corresponding to the request
      headers - request headers to send
      directory -
    • saveHttpResponseTo

      public static Statement saveHttpResponseTo(URI source, String dir, String file)
    • pipeHttpResponseToBash

      public static Statement pipeHttpResponseToBash(String method, URI endpoint, com.google.common.collect.Multimap<String,String> headers)
      exec the data received from the request parameters.
      Parameters:
      method - http method: ex GET
      endpoint - uri corresponding to the request
      headers - request headers to send