Skip to content

inzh-studio/simple-process-java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Simple Process

A tool for simplify and extend the process usage with the observable value method.

Minimum Java Version

Installation with Maven

Add this dependency in your Maven project:

<dependencies>
  ...
  <dependency>
    <groupId>fr.inzh.lang</groupId>
    <artifactId>inzh-simple-process</artifactId>
    <version>1.2</version>
  </dependency>
  ...
</dependencies>

Installation without Maven

For non-Maven use cases, you download jars from Central Maven repository.


Exemple:

  • Basic usage, launch command and wait finish
String[] cmd = ... ;
ProcessBuilder processBuilder = new ProcessBuilder(cmd);

SimpleProcess sp = new SimpleProcessBuilder()
  .processBuilder(processBuilder)
  .outputRowListener(new OutChangeListener<>())
  .errorRowListener(new ErrChangeListener<>())
  .build();

sp.start();
  • Output basic usage, launch command and get all output rows in one string
String[] cmd = ... ;
ProcessBuilder processBuilder = new ProcessBuilder(cmd);

StringAggregatorChangeListener aggregator = new StringAggregatorChangeListener();
SimpleProcess sp = new SimpleProcessBuilder()
  .processBuilder(processBuilder)
  .outputRowListener(aggregator)
  .errorRowListener(new ErrChangeListener<>())
  .build();

sp.start();

String output = aggregator.getValue();
  • Input basic usage, launch command and send value to process
String[] cmd = ... ;
ProcessBuilder processBuilder = new ProcessBuilder(cmd);

ObservableValue<String> inputValue = new ObservableValue<>();
SimpleProcess sp = new SimpleProcessBuilder()
  .processBuilder(processBuilder)
  .inputValue(inputValue)
  .outputRowListener(new OutChangeListener<>())
  .errorRowListener(new ErrChangeListener<>())
  .build();

sp.startAsync();

TimeUnit.SECONDS.sleep(2);
inputValue.setValue("ping www.google.fr");  

while(true){
    TimeUnit.SECONDS.sleep(5);
    inputValue.setValue("exit");
    break;
}

© 2011-2022 [InZH] Studio.

About

Tool for simplify and extend the process usage

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages