1
Fork 0
mirror of https://github.com/Steffo99/unimore-oop-2020-cleaver.git synced 2024-11-25 01:24:19 +00:00
oop-2020-steffo-cleaver/docs/eu.steffo.cleaver/eu/steffo/cleaver/logic/job/ChopJob.html

668 lines
59 KiB
HTML
Raw Normal View History

2020-01-09 16:03:58 +00:00
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="it">
<head>
2020-01-12 20:18:14 +00:00
<!-- Generated by javadoc (13.0.1) on Sun Jan 12 20:56:53 CET 2020 -->
2020-01-12 18:21:04 +00:00
<title>ChopJob (Cleaver)</title>
2020-01-09 16:03:58 +00:00
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
2020-01-12 18:21:04 +00:00
<meta name="dc.created" content="2020-01-12">
2020-01-09 16:03:58 +00:00
<meta name="description" content="declaration: module: eu.steffo.cleaver, package: eu.steffo.cleaver.logic.job, class: ChopJob">
<meta name="generator" content="javadoc/ClassWriterImpl">
2020-01-12 18:21:04 +00:00
<meta name="keywords" content="eu.steffo.cleaver.logic.job.ChopJob class">
<meta name="keywords" content="fileToChop">
<meta name="keywords" content="cryptConfig">
<meta name="keywords" content="compressConfig">
<meta name="keywords" content="splitConfig">
<meta name="keywords" content="BUFFER_SIZE">
<meta name="keywords" content="getTypeString()">
<meta name="keywords" content="getFileString()">
<meta name="keywords" content="getOperationsString()">
<meta name="keywords" content="createSplitOutputStream()">
<meta name="keywords" content="createCompressOutputStream()">
<meta name="keywords" content="createCryptOutputStream()">
<meta name="keywords" content="createChpFile()">
<meta name="keywords" content="run()">
2020-01-09 16:03:58 +00:00
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../style.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../../script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.js"></script>
</head>
<body class="class-declaration">
<script type="text/javascript">var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../module-summary.html">Module</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<a id="skip.navbar.top">
<!-- -->
</a>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="moduleLabelInType">Module</span>&nbsp;<a href="../../../../../module-summary.html">eu.steffo.cleaver</a></div>
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">eu.steffo.cleaver.logic.job</a></div>
<h1 title="Class ChopJob" class="title">Class ChopJob</h1>
</div>
<div class="contentContainer">
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">java.lang.Object</a>
<div class="inheritance"><a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Thread.html?is-external=true" title="class or interface in java.lang" class="externalLink">java.lang.Thread</a>
<div class="inheritance"><a href="Job.html" title="class in eu.steffo.cleaver.logic.job">eu.steffo.cleaver.logic.job.Job</a>
<div class="inheritance">eu.steffo.cleaver.logic.job.ChopJob</div>
</div>
</div>
</div>
<section class="description">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Runnable</a></code></dd>
</dl>
<hr>
<pre>public class <span class="typeNameLabel">ChopJob</span>
extends <a href="Job.html" title="class in eu.steffo.cleaver.logic.job">Job</a></pre>
<div class="block">A <a href="Job.html" title="class in eu.steffo.cleaver.logic.job"><code>Job</code></a> to convert a file into one or more <i>chopped</i> (*.chp + *.cXX) files.
The conversion is done in steps, which may be skipped if the required configuration is <code>null</code>:
<ol>
<li><b>Compress</b> (if <a href="#compressConfig"><code>compressConfig</code></a> is not <code>null</code>)</li>
<li><b>Crypt</b> (if <a href="#cryptConfig"><code>cryptConfig</code></a> is not <code>null</code>)</li>
<li><b>Split</b> (if <a href="#splitConfig"><code>splitConfig</code></a> is not <code>null</code>)</li>
<li>*.chp file creation</li>
</ol></div>
2020-01-09 18:23:51 +00:00
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="StitchJob.html" title="class in eu.steffo.cleaver.logic.job"><code>StitchJob</code></a></dd>
</dl>
2020-01-09 16:03:58 +00:00
</section>
<section class="summary">
<ul class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<li class="blockList">
<section class="nestedClassSummary"><a id="nested.class.summary">
<!-- -->
</a>
<h2>Nested Class Summary</h2>
<div class="inheritedList">
<h2>Nested classes/interfaces inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Thread.html?is-external=true" title="class or interface in java.lang" class="externalLink">Thread</a></h2>
<a id="nested.classes.inherited.from.class.java.lang.Thread">
<!-- -->
</a><code><a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Thread.State.html?is-external=true" title="class or interface in java.lang" class="externalLink">Thread.State</a>, <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Thread.UncaughtExceptionHandler.html?is-external=true" title="class or interface in java.lang" class="externalLink">Thread.UncaughtExceptionHandler</a></code></div>
</section>
</li>
<!-- =========== FIELD SUMMARY =========== -->
<li class="blockList">
<section class="fieldSummary"><a id="field.summary">
<!-- -->
</a>
<h2>Field Summary</h2>
<div class="memberSummary">
<table>
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
2020-01-09 18:23:51 +00:00
<td class="colFirst"><code>private static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#BUFFER_SIZE">BUFFER_SIZE</a></span></code></th>
<td class="colLast">
2020-01-12 18:21:04 +00:00
<div class="block">The size in bytes of the <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/BufferedInputStream.html?is-external=true" title="class or interface in java.io" class="externalLink"><code>BufferedInputStream</code></a> wrapping the <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/FileInputStream.html?is-external=true" title="class or interface in java.io" class="externalLink"><code>FileInputStream</code></a> created when <a href="#run()"><code>run()</code></a> is called to read the data from the
file to be chopped.</div>
2020-01-09 18:23:51 +00:00
</td>
</tr>
<tr class="rowColor">
2020-01-09 16:03:58 +00:00
<td class="colFirst"><code>private <a href="../config/ICompressConfig.html" title="interface in eu.steffo.cleaver.logic.config">ICompressConfig</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#compressConfig">compressConfig</a></span></code></th>
<td class="colLast">
<div class="block">The <a href="../config/IConfig.html" title="interface in eu.steffo.cleaver.logic.config"><code>IConfig</code></a> for the <b>Compress</b> step.</div>
</td>
</tr>
2020-01-09 18:23:51 +00:00
<tr class="altColor">
2020-01-09 16:03:58 +00:00
<td class="colFirst"><code>private <a href="../config/ICryptConfig.html" title="interface in eu.steffo.cleaver.logic.config">ICryptConfig</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#cryptConfig">cryptConfig</a></span></code></th>
<td class="colLast">
<div class="block">The <a href="../config/IConfig.html" title="interface in eu.steffo.cleaver.logic.config"><code>IConfig</code></a> for the <b>Crypt</b> step.</div>
</td>
</tr>
2020-01-09 18:23:51 +00:00
<tr class="rowColor">
2020-01-09 16:03:58 +00:00
<td class="colFirst"><code>private <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/File.html?is-external=true" title="class or interface in java.io" class="externalLink">File</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#fileToChop">fileToChop</a></span></code></th>
<td class="colLast">
<div class="block">The file to <i>chop</i>.</div>
</td>
</tr>
2020-01-09 18:23:51 +00:00
<tr class="altColor">
2020-01-09 16:03:58 +00:00
<td class="colFirst"><code>private <a href="../config/ISplitConfig.html" title="interface in eu.steffo.cleaver.logic.config">ISplitConfig</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#splitConfig">splitConfig</a></span></code></th>
<td class="colLast">
<div class="block">The <a href="../config/IConfig.html" title="interface in eu.steffo.cleaver.logic.config"><code>IConfig</code></a> for the <b>Split</b> step.</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="inheritedList">
<h3>Fields inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Thread.html?is-external=true" title="class or interface in java.lang" class="externalLink">Thread</a></h3>
<a id="fields.inherited.from.class.java.lang.Thread">
<!-- -->
</a><code><a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Thread.html?is-external=true#MAX_PRIORITY" title="class or interface in java.lang" class="externalLink">MAX_PRIORITY</a>, <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Thread.html?is-external=true#MIN_PRIORITY" title="class or interface in java.lang" class="externalLink">MIN_PRIORITY</a>, <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Thread.html?is-external=true#NORM_PRIORITY" title="class or interface in java.lang" class="externalLink">NORM_PRIORITY</a></code></div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li class="blockList">
<section class="constructorSummary"><a id="constructor.summary">
<!-- -->
</a>
<h2>Constructor Summary</h2>
<div class="memberSummary">
<table>
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(java.io.File,eu.steffo.cleaver.logic.config.ICompressConfig,eu.steffo.cleaver.logic.config.ICryptConfig,eu.steffo.cleaver.logic.config.ISplitConfig)">ChopJob</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/File.html?is-external=true" title="class or interface in java.io" class="externalLink">File</a>&nbsp;fileToChop,
<a href="../config/ICompressConfig.html" title="interface in eu.steffo.cleaver.logic.config">ICompressConfig</a>&nbsp;compressConfig,
<a href="../config/ICryptConfig.html" title="interface in eu.steffo.cleaver.logic.config">ICryptConfig</a>&nbsp;cryptConfig,
<a href="../config/ISplitConfig.html" title="interface in eu.steffo.cleaver.logic.config">ISplitConfig</a>&nbsp;splitConfig)</code></th>
<td class="colLast">
<div class="block">Create a new ChopJob (without progress updates support).</div>
</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(java.io.File,eu.steffo.cleaver.logic.config.ICompressConfig,eu.steffo.cleaver.logic.config.ICryptConfig,eu.steffo.cleaver.logic.config.ISplitConfig,java.lang.Runnable)">ChopJob</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/File.html?is-external=true" title="class or interface in java.io" class="externalLink">File</a>&nbsp;fileToChop,
<a href="../config/ICompressConfig.html" title="interface in eu.steffo.cleaver.logic.config">ICompressConfig</a>&nbsp;compressConfig,
<a href="../config/ICryptConfig.html" title="interface in eu.steffo.cleaver.logic.config">ICryptConfig</a>&nbsp;cryptConfig,
<a href="../config/ISplitConfig.html" title="interface in eu.steffo.cleaver.logic.config">ISplitConfig</a>&nbsp;splitConfig,
<a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Runnable</a>&nbsp;onProgressChange)</code></th>
<td class="colLast">
<div class="block">Create a new ChopJob (with progress updates support).</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li class="blockList">
<section class="methodSummary"><a id="method.summary">
<!-- -->
</a>
<h2>Method Summary</h2>
<div class="memberSummary">
<div role="tablist" aria-orientation="horizontal"><button role="tab" aria-selected="true" aria-controls="memberSummary_tabpanel" tabindex="0" onkeydown="switchTab(event)" id="t0" class="activeTableTab">All Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t2" class="tableTab" onclick="show(2);">Instance Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t4" class="tableTab" onclick="show(8);">Concrete Methods</button></div>
<div id="memberSummary_tabpanel" role="tabpanel">
<table aria-labelledby="t0">
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor" id="i0">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createChpFile(java.io.OutputStream)">createChpFile</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/OutputStream.html?is-external=true" title="class or interface in java.io" class="externalLink">OutputStream</a>&nbsp;outputStream)</code></th>
<td class="colLast">
2020-01-12 18:21:04 +00:00
<div class="block">
Generate the *.chp file for this job by calling the <a href="../stream/output/ICleaverOutputStream.html#toElement(org.w3c.dom.Document)"><code>ICleaverOutputStream.toElement(Document)</code></a> method of the passed <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/OutputStream.html?is-external=true" title="class or interface in java.io" class="externalLink"><code>OutputStream</code></a> and by
writing the results on a file with a <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.xml/javax/xml/transform/Transformer.html?is-external=true" title="class or interface in javax.xml.transform" class="externalLink"><code>Transformer</code></a>.</div>
2020-01-09 16:03:58 +00:00
</td>
</tr>
<tr class="rowColor" id="i1">
2020-01-12 18:21:04 +00:00
<td class="colFirst"><code>private <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/OutputStream.html?is-external=true" title="class or interface in java.io" class="externalLink">OutputStream</a></code></td>
2020-01-09 16:03:58 +00:00
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createCompressOutputStream(java.io.OutputStream)">createCompressOutputStream</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/OutputStream.html?is-external=true" title="class or interface in java.io" class="externalLink">OutputStream</a>&nbsp;sourceOutputStream)</code></th>
<td class="colLast">
<div class="block">Create a <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/OutputStream.html?is-external=true" title="class or interface in java.io" class="externalLink"><code>OutputStream</code></a> based on the <a href="#compressConfig"><code>compressConfig</code></a> of this ChopJob.</div>
</td>
</tr>
<tr class="altColor" id="i2">
2020-01-12 18:21:04 +00:00
<td class="colFirst"><code>private <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/OutputStream.html?is-external=true" title="class or interface in java.io" class="externalLink">OutputStream</a></code></td>
2020-01-09 16:03:58 +00:00
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createCryptOutputStream(java.io.OutputStream)">createCryptOutputStream</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/OutputStream.html?is-external=true" title="class or interface in java.io" class="externalLink">OutputStream</a>&nbsp;sourceOutputStream)</code></th>
<td class="colLast">
<div class="block">Create a <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/OutputStream.html?is-external=true" title="class or interface in java.io" class="externalLink"><code>OutputStream</code></a> based on the <a href="#cryptConfig"><code>cryptConfig</code></a> of this ChopJob.</div>
</td>
</tr>
<tr class="rowColor" id="i3">
2020-01-12 18:21:04 +00:00
<td class="colFirst"><code>private <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/OutputStream.html?is-external=true" title="class or interface in java.io" class="externalLink">OutputStream</a></code></td>
2020-01-09 16:03:58 +00:00
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createSplitOutputStream()">createSplitOutputStream</a></span>()</code></th>
<td class="colLast">
<div class="block">Create a <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/OutputStream.html?is-external=true" title="class or interface in java.io" class="externalLink"><code>OutputStream</code></a> based on the <a href="#splitConfig"><code>splitConfig</code></a> of this ChopJob.</div>
</td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getFileString()">getFileString</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getOperationsString()">getOperationsString</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTypeString()">getTypeString</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor" id="i7">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#run()">run</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="inheritedList">
<h3>Methods inherited from class&nbsp;eu.steffo.cleaver.logic.job.<a href="Job.html" title="class in eu.steffo.cleaver.logic.job">Job</a></h3>
<a id="methods.inherited.from.class.eu.steffo.cleaver.logic.job.Job">
<!-- -->
</a><code><a href="Job.html#getProgress()">getProgress</a>, <a href="Job.html#getProgressString()">getProgressString</a>, <a href="Job.html#setProgress(eu.steffo.cleaver.logic.progress.Progress)">setProgress</a></code></div>
<div class="inheritedList">
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Thread.html?is-external=true" title="class or interface in java.lang" class="externalLink">Thread</a></h3>
<a id="methods.inherited.from.class.java.lang.Thread">
<!-- -->
</a><code><a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Thread.html?is-external=true#activeCount()" title="class or interface in java.lang" class="externalLink">activeCount</a>, <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Thread.html?is-external=true#checkAccess()" title="class or interface in java.lang" class="externalLink">checkAccess</a>, <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Thread.html?is-external=true#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Thread.html?is-external=true#currentThread()" title="class or interface in java.lang" class="externalLink">currentThread</a>, <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Thread.html?is-external=true#dumpStack()" title="class or interface in java.lang" class="externalLink">dumpStack</a>, <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Thread.html?is-external=true#enumerate(java.lang.Thread%5B%5D)" title="class or interface in java.lang" class="externalLink">enumerate</a>, <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Thread.html?is-external=true#getAllStackTraces()" title="class or interface in java.lang" class="externalLink">getAllStackTraces</a>, <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Thread.html?is-external=true#getContextClassLoader()" title="class or interface in java.lang" class="externalLink">getContextClassLoader</a>, <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Thread.html?is-external=true#getDefaultUncaughtExceptionHandler()" title="class or interface in java.lang" class="externalLink">getDefaultUncaughtExceptionHandler</a>, <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Thread.html?is-external=true#getId()" title="class or interface in java.lang" class="externalLink">getId</a>, <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Thread.html?is-external=true#getName()" title="class or interface in java.lang" class="externalLink">getName</a>, <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Thread.html?is-external=true#getPriority()" title="class or interface in java.lang" class="externalLink">getPriority</a>, <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Thread.html?is-external=true#getStackTrace()" title="class or interface in java.lang" class="externalLink">getStackTrace</a>, <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Thread.html?is-external=true#getState()" title="class or interface in java.lang" class="externalLink">getState</a>, <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Thread.html?is-external=true#getThreadGroup()" title="class or interface in java.lang" class="externalLink">getThreadGroup</a>, <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Thread.html?is-external=true#getUncaughtExceptionHandler()" title="class or interface in java.lang" class="externalLink">getUncaughtExceptionHandler</a>, <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Thread.html?is-external=true#holdsLock(java.lang.Object)" title="class or interface in java.lang" class="externalLink">holdsLock</a>, <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Thread.html?is-external=true#interrupt()" title="class or interface in java.lang" class="externalLink">interrupt</a>, <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Thread.html?is-external=true#interrupted()" title="class or interface in java.lang" class="externalLink">interrupted</a>, <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Thread.html?is-external=true#isAlive()" title="class or int
<div class="inheritedList">
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></h3>
<a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a><code><a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<li class="blockList">
<section class="fieldDetails"><a id="field.detail">
<!-- -->
</a>
<h2>Field Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="fileToChop">fileToChop</a></h3>
<div class="memberSignature"><span class="modifiers">private final</span>&nbsp;<span class="returnType"><a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/File.html?is-external=true" title="class or interface in java.io" class="externalLink">File</a></span>&nbsp;<span class="memberName">fileToChop</span></div>
<div class="block">The file to <i>chop</i>.</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="cryptConfig">cryptConfig</a></h3>
<div class="memberSignature"><span class="modifiers">private final</span>&nbsp;<span class="returnType"><a href="../config/ICryptConfig.html" title="interface in eu.steffo.cleaver.logic.config">ICryptConfig</a></span>&nbsp;<span class="memberName">cryptConfig</span></div>
<div class="block">The <a href="../config/IConfig.html" title="interface in eu.steffo.cleaver.logic.config"><code>IConfig</code></a> for the <b>Crypt</b> step.</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="compressConfig">compressConfig</a></h3>
<div class="memberSignature"><span class="modifiers">private final</span>&nbsp;<span class="returnType"><a href="../config/ICompressConfig.html" title="interface in eu.steffo.cleaver.logic.config">ICompressConfig</a></span>&nbsp;<span class="memberName">compressConfig</span></div>
<div class="block">The <a href="../config/IConfig.html" title="interface in eu.steffo.cleaver.logic.config"><code>IConfig</code></a> for the <b>Compress</b> step.</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="splitConfig">splitConfig</a></h3>
<div class="memberSignature"><span class="modifiers">private final</span>&nbsp;<span class="returnType"><a href="../config/ISplitConfig.html" title="interface in eu.steffo.cleaver.logic.config">ISplitConfig</a></span>&nbsp;<span class="memberName">splitConfig</span></div>
<div class="block">The <a href="../config/IConfig.html" title="interface in eu.steffo.cleaver.logic.config"><code>IConfig</code></a> for the <b>Split</b> step.</div>
</section>
</li>
2020-01-09 18:23:51 +00:00
<li class="blockList">
<section class="detail">
<h3><a id="BUFFER_SIZE">BUFFER_SIZE</a></h3>
<div class="memberSignature"><span class="modifiers">private static final</span>&nbsp;<span class="returnType">int</span>&nbsp;<span class="memberName">BUFFER_SIZE</span></div>
2020-01-12 18:21:04 +00:00
<div class="block">The size in bytes of the <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/BufferedInputStream.html?is-external=true" title="class or interface in java.io" class="externalLink"><code>BufferedInputStream</code></a> wrapping the <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/FileInputStream.html?is-external=true" title="class or interface in java.io" class="externalLink"><code>FileInputStream</code></a> created when <a href="#run()"><code>run()</code></a> is called to read the data from the
file to be chopped.
The same value is used for a temporary array in the <a href="#run()"><code>run()</code></a> method where bytes are stored between being read from the input file and being written
through a <a href="../stream/output/ICleaverOutputStream.html" title="interface in eu.steffo.cleaver.logic.stream.output"><code>ICleaverOutputStream</code></a>; after that amount of bytes are written, <a href="Job.html#getProgress()"><code>Job.getProgress()</code></a> is called, updating the
<a href="../progress/Progress.html" title="class in eu.steffo.cleaver.logic.progress"><code>Progress</code></a> of this Job.</div>
2020-01-09 18:23:51 +00:00
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#eu.steffo.cleaver.logic.job.ChopJob.BUFFER_SIZE">Constant Field Values</a></dd>
</dl>
</section>
</li>
2020-01-09 16:03:58 +00:00
</ul>
</section>
</li>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li class="blockList">
<section class="constructorDetails"><a id="constructor.detail">
<!-- -->
</a>
<h2>Constructor Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;(java.io.File,eu.steffo.cleaver.logic.config.ICompressConfig,eu.steffo.cleaver.logic.config.ICryptConfig,eu.steffo.cleaver.logic.config.ISplitConfig,java.lang.Runnable)">ChopJob</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">ChopJob</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/File.html?is-external=true" title="class or interface in java.io" class="externalLink">File</a>&nbsp;fileToChop,
<a href="../config/ICompressConfig.html" title="interface in eu.steffo.cleaver.logic.config">ICompressConfig</a>&nbsp;compressConfig,
<a href="../config/ICryptConfig.html" title="interface in eu.steffo.cleaver.logic.config">ICryptConfig</a>&nbsp;cryptConfig,
<a href="../config/ISplitConfig.html" title="interface in eu.steffo.cleaver.logic.config">ISplitConfig</a>&nbsp;splitConfig,
<a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Runnable</a>&nbsp;onProgressChange)</span></div>
<div class="block">Create a new ChopJob (with progress updates support).</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>fileToChop</code> - The file to <i>chop</i>.</dd>
<dd><code>compressConfig</code> - The <a href="../config/IConfig.html" title="interface in eu.steffo.cleaver.logic.config"><code>IConfig</code></a> for the <b>Compress</b> step.</dd>
<dd><code>cryptConfig</code> - The <a href="../config/IConfig.html" title="interface in eu.steffo.cleaver.logic.config"><code>IConfig</code></a> for the <b>Crypt</b> step.</dd>
<dd><code>splitConfig</code> - The <a href="../config/IConfig.html" title="interface in eu.steffo.cleaver.logic.config"><code>IConfig</code></a> for the <b>Split</b> step.</dd>
<dd><code>onProgressChange</code> - A <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>Runnable</code></a> that will be invoked on the GUI <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Thread.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>Thread</code></a>
(with <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.desktop/javax/swing/SwingUtilities.html?is-external=true#invokeLater(java.lang.Runnable)" title="class or interface in javax.swing" class="externalLink"><code>SwingUtilities.invokeLater(Runnable)</code></a>) every time <a href="Job.html#setProgress(eu.steffo.cleaver.logic.progress.Progress)"><code>Job.setProgress(Progress)</code></a> is called.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="Job.html#%3Cinit%3E(java.lang.Runnable)"><code>Job(Runnable)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;(java.io.File,eu.steffo.cleaver.logic.config.ICompressConfig,eu.steffo.cleaver.logic.config.ICryptConfig,eu.steffo.cleaver.logic.config.ISplitConfig)">ChopJob</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">ChopJob</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/File.html?is-external=true" title="class or interface in java.io" class="externalLink">File</a>&nbsp;fileToChop,
<a href="../config/ICompressConfig.html" title="interface in eu.steffo.cleaver.logic.config">ICompressConfig</a>&nbsp;compressConfig,
<a href="../config/ICryptConfig.html" title="interface in eu.steffo.cleaver.logic.config">ICryptConfig</a>&nbsp;cryptConfig,
<a href="../config/ISplitConfig.html" title="interface in eu.steffo.cleaver.logic.config">ISplitConfig</a>&nbsp;splitConfig)</span></div>
<div class="block">Create a new ChopJob (without progress updates support).</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>fileToChop</code> - The file to <i>chop</i>.</dd>
<dd><code>compressConfig</code> - The <a href="../config/IConfig.html" title="interface in eu.steffo.cleaver.logic.config"><code>IConfig</code></a> for the <b>Compress</b> step.</dd>
<dd><code>cryptConfig</code> - The <a href="../config/IConfig.html" title="interface in eu.steffo.cleaver.logic.config"><code>IConfig</code></a> for the <b>Crypt</b> step.</dd>
<dd><code>splitConfig</code> - The <a href="../config/IConfig.html" title="interface in eu.steffo.cleaver.logic.config"><code>IConfig</code></a> for the <b>Split</b> step.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#%3Cinit%3E(java.io.File,eu.steffo.cleaver.logic.config.ICompressConfig,eu.steffo.cleaver.logic.config.ICryptConfig,eu.steffo.cleaver.logic.config.ISplitConfig,java.lang.Runnable)"><code>ChopJob(File, ICompressConfig, ICryptConfig, ISplitConfig, Runnable)</code></a>,
<a href="Job.html#%3Cinit%3E()"><code>Job()</code></a></dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li class="blockList">
<section class="methodDetails"><a id="method.detail">
<!-- -->
</a>
<h2>Method Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="getTypeString()">getTypeString</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></span>&nbsp;<span class="memberName">getTypeString</span>()</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="Job.html#getTypeString()">getTypeString</a></code>&nbsp;in class&nbsp;<code><a href="Job.html" title="class in eu.steffo.cleaver.logic.job">Job</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>String</code></a> that should be displayed in the <b>Type</b> column of the <a href="../../gui/panels/JobsTablePanel.html" title="class in eu.steffo.cleaver.gui.panels"><code>Jobs Table</code></a>.</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getFileString()">getFileString</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></span>&nbsp;<span class="memberName">getFileString</span>()</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="Job.html#getFileString()">getFileString</a></code>&nbsp;in class&nbsp;<code><a href="Job.html" title="class in eu.steffo.cleaver.logic.job">Job</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>String</code></a> that should be displayed in the <b>File</b> column of the <a href="../../gui/panels/JobsTablePanel.html" title="class in eu.steffo.cleaver.gui.panels"><code>Jobs Table</code></a>.</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getOperationsString()">getOperationsString</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></span>&nbsp;<span class="memberName">getOperationsString</span>()</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="Job.html#getOperationsString()">getOperationsString</a></code>&nbsp;in class&nbsp;<code><a href="Job.html" title="class in eu.steffo.cleaver.logic.job">Job</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>String</code></a> that should be displayed in the <b>Operations</b> column of the
<a href="../../gui/panels/JobsTablePanel.html" title="class in eu.steffo.cleaver.gui.panels"><code>Jobs Table</code></a>.</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="createSplitOutputStream()">createSplitOutputStream</a></h3>
2020-01-12 18:21:04 +00:00
<div class="memberSignature"><span class="modifiers">private</span>&nbsp;<span class="returnType"><a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/OutputStream.html?is-external=true" title="class or interface in java.io" class="externalLink">OutputStream</a></span>&nbsp;<span class="memberName">createSplitOutputStream</span>()
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/FileNotFoundException.html?is-external=true" title="class or interface in java.io" class="externalLink">FileNotFoundException</a></span></div>
2020-01-09 16:03:58 +00:00
<div class="block">Create a <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/OutputStream.html?is-external=true" title="class or interface in java.io" class="externalLink"><code>OutputStream</code></a> based on the <a href="#splitConfig"><code>splitConfig</code></a> of this ChopJob.
The <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/OutputStream.html?is-external=true" title="class or interface in java.io" class="externalLink"><code>OutputStream</code></a> will be the <i>sink</i> of the stream chain created in <a href="#run()"><code>run()</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The created <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/OutputStream.html?is-external=true" title="class or interface in java.io" class="externalLink"><code>OutputStream</code></a>.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/FileNotFoundException.html?is-external=true" title="class or interface in java.io" class="externalLink">FileNotFoundException</a></code> - If one or more files cannot be created (for example, a directory with the same name is present).</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../stream/output/CleaverSplitFileOutputStream.html" title="class in eu.steffo.cleaver.logic.stream.output"><code>CleaverSplitFileOutputStream</code></a>,
<a href="../stream/output/CleaverForkFileOutputStream.html" title="class in eu.steffo.cleaver.logic.stream.output"><code>CleaverForkFileOutputStream</code></a>,
<a href="../stream/output/CleaverSimpleFileOutputStream.html" title="class in eu.steffo.cleaver.logic.stream.output"><code>CleaverSimpleFileOutputStream</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="createCompressOutputStream(java.io.OutputStream)">createCompressOutputStream</a></h3>
2020-01-12 18:21:04 +00:00
<div class="memberSignature"><span class="modifiers">private</span>&nbsp;<span class="returnType"><a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/OutputStream.html?is-external=true" title="class or interface in java.io" class="externalLink">OutputStream</a></span>&nbsp;<span class="memberName">createCompressOutputStream</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/OutputStream.html?is-external=true" title="class or interface in java.io" class="externalLink">OutputStream</a>&nbsp;sourceOutputStream)</span></div>
2020-01-09 16:03:58 +00:00
<div class="block">Create a <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/OutputStream.html?is-external=true" title="class or interface in java.io" class="externalLink"><code>OutputStream</code></a> based on the <a href="#compressConfig"><code>compressConfig</code></a> of this ChopJob.
The created <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/OutputStream.html?is-external=true" title="class or interface in java.io" class="externalLink"><code>OutputStream</code></a> will <i>wrap</i> the <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/OutputStream.html?is-external=true" title="class or interface in java.io" class="externalLink"><code>OutputStream</code></a> passed as parameter, creating a chain of streams.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sourceOutputStream</code> - The <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/OutputStream.html?is-external=true" title="class or interface in java.io" class="externalLink"><code>OutputStream</code></a> that should be wrapped.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The created <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/OutputStream.html?is-external=true" title="class or interface in java.io" class="externalLink"><code>OutputStream</code></a>, wrapping the one that was passed as parameter.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../stream/output/CleaverDeflateOutputStream.html" title="class in eu.steffo.cleaver.logic.stream.output"><code>CleaverDeflateOutputStream</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="createCryptOutputStream(java.io.OutputStream)">createCryptOutputStream</a></h3>
2020-01-12 18:21:04 +00:00
<div class="memberSignature"><span class="modifiers">private</span>&nbsp;<span class="returnType"><a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/OutputStream.html?is-external=true" title="class or interface in java.io" class="externalLink">OutputStream</a></span>&nbsp;<span class="memberName">createCryptOutputStream</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/OutputStream.html?is-external=true" title="class or interface in java.io" class="externalLink">OutputStream</a>&nbsp;sourceOutputStream)</span></div>
2020-01-09 16:03:58 +00:00
<div class="block">Create a <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/OutputStream.html?is-external=true" title="class or interface in java.io" class="externalLink"><code>OutputStream</code></a> based on the <a href="#cryptConfig"><code>cryptConfig</code></a> of this ChopJob.
The created <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/OutputStream.html?is-external=true" title="class or interface in java.io" class="externalLink"><code>OutputStream</code></a> will <i>wrap</i> the <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/OutputStream.html?is-external=true" title="class or interface in java.io" class="externalLink"><code>OutputStream</code></a> passed as parameter, creating a chain of streams.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sourceOutputStream</code> - The <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/OutputStream.html?is-external=true" title="class or interface in java.io" class="externalLink"><code>OutputStream</code></a> that should be wrapped.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The created <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/OutputStream.html?is-external=true" title="class or interface in java.io" class="externalLink"><code>OutputStream</code></a>, wrapping the one that was passed as parameter.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../stream/output/CleaverCryptOutputStream.html" title="class in eu.steffo.cleaver.logic.stream.output"><code>CleaverCryptOutputStream</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="createChpFile(java.io.OutputStream)">createChpFile</a></h3>
<div class="memberSignature"><span class="modifiers">protected</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">createChpFile</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/OutputStream.html?is-external=true" title="class or interface in java.io" class="externalLink">OutputStream</a>&nbsp;outputStream)</span></div>
2020-01-12 18:21:04 +00:00
<div class="block"><p>
Generate the *.chp file for this job by calling the <a href="../stream/output/ICleaverOutputStream.html#toElement(org.w3c.dom.Document)"><code>ICleaverOutputStream.toElement(Document)</code></a> method of the passed <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/OutputStream.html?is-external=true" title="class or interface in java.io" class="externalLink"><code>OutputStream</code></a> and by
writing the results on a file with a <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.xml/javax/xml/transform/Transformer.html?is-external=true" title="class or interface in javax.xml.transform" class="externalLink"><code>Transformer</code></a>.
</p>
<p>
*.chp files are special XML files that contain information about the stream chain used to produce the *.cXX files.
</p>
<p>
Every *.chp file has a &lt;Cleaver&gt; element as root containing all the information required to reconstruct the original file.
</p>
<p>
Every element below the root represents either a <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/FilterOutputStream.html?is-external=true" title="class or interface in java.io" class="externalLink"><code>FilterOutputStream</code></a> that wraps the stream represented by its child, or, if the child node is
&lt;OriginalFile&gt;, a <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/OutputStream.html?is-external=true" title="class or interface in java.io" class="externalLink"><code>OutputStream</code></a> reading from the <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/File.html?is-external=true" title="class or interface in java.io" class="externalLink"><code>File</code></a> having the <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.xml/org/w3c/dom/Node.html?is-external=true#getTextContent()" title="class or interface in org.w3c.dom" class="externalLink"><code>text content</code></a>
of the &lt;OriginalFile&gt; element as name.
</p>
<p>
Possible tags representing <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/FilterOutputStream.html?is-external=true" title="class or interface in java.io" class="externalLink"><code>FilterOutputStreams</code></a> are:
</p>
<ul>
<li>&lt;Crypt&gt;, representing a <a href="../stream/output/CleaverCryptOutputStream.html" title="class in eu.steffo.cleaver.logic.stream.output"><code>CleaverCryptOutputStream</code></a>;</li>
<li>&lt;Deflate&gt;, representing a <a href="../stream/output/CleaverDeflateOutputStream.html" title="class in eu.steffo.cleaver.logic.stream.output"><code>CleaverDeflateOutputStream</code></a>.</li>
</ul>
<p>
Possible tags representing <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/OutputStream.html?is-external=true" title="class or interface in java.io" class="externalLink"><code>simple OutputStreams</code></a> are:
</p>
<ul>
<li>&lt;Simple&gt;, representing a <a href="../stream/output/CleaverSimpleFileOutputStream.html" title="class in eu.steffo.cleaver.logic.stream.output"><code>CleaverSimpleFileOutputStream</code></a>;</li>
<li>&lt;Split&gt;, representing a <a href="../stream/output/CleaverSplitFileOutputStream.html" title="class in eu.steffo.cleaver.logic.stream.output"><code>CleaverSplitFileOutputStream</code></a>;</li>
<li>&lt;Fork&gt;, representing a <a href="../stream/output/CleaverForkFileOutputStream.html" title="class in eu.steffo.cleaver.logic.stream.output"><code>CleaverForkFileOutputStream</code></a>.</li>
</ul>
<p>
Elements may include attributes that useful or required to reconstruct the original file: for example, the &lt;Crypt&gt; tag includes the value of
the salt used to generate the AES key and the value of the initialization vector used to encrypt the stream.
</p>
<h4>Example</h4>
<blockquote>
&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;&lt;Cleaver&gt;&lt;Crypt algorithm="AES" iteration-count="65535" iv="-10,6,-6,63,-68,-106,-102,-12,59,-58,-123,-76,-16,-29,-75,-67," key-algorithm="PBKDF2WithHmacSHA512" key-length="256" mode-of-operation="CFB8" padding="NoPadding" salt="-60,-84,108,93,100,5,63,44,"&gt;&lt;Deflate&gt;&lt;Split part-size="16384" parts="4"&gt;&lt;OriginalFile&gt;AllThreeExample.png&lt;/OriginalFile&gt;&lt;/Split&gt;&lt;/Deflate&gt;&lt;/Crypt&gt;&lt;/Cleaver&gt;
</blockquote></div>
2020-01-09 16:03:58 +00:00
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>outputStream</code> - The <a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/io/OutputStream.html?is-external=true" title="class or interface in java.io" class="externalLink"><code>OutputStream</code></a> to create the *.chp file for.</dd>
2020-01-12 18:21:04 +00:00
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../stream/input/ICleaverInputStream.html#fromElement(org.w3c.dom.Element,java.io.File,java.lang.String)"><code>ICleaverInputStream.fromElement(Element, File, String)</code></a></dd>
2020-01-09 16:03:58 +00:00
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="run()">run</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">run</span>()</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Runnable.html?is-external=true#run()" title="class or interface in java.lang" class="externalLink">run</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Runnable</a></code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="Job.html#run()">run</a></code>&nbsp;in class&nbsp;<code><a href="Job.html" title="class in eu.steffo.cleaver.logic.job">Job</a></code></dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../module-summary.html">Module</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>