﻿<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="scheduler_job_documentation.xsl"?>
<description xmlns="http://www.sos-berlin.com/schema/scheduler_job_documentation_v1.0" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sos-berlin.com/schema/scheduler_job_documentation_v1.0 http://www.sos-berlin.com/schema/scheduler_job_documentation_v1.0.xsd">
  <job order="both" name="JobSchedulerRemoveFile" tasks="unbounded" title="Remove one or more files">
    <script language="java" java_class="sos.scheduler.file.JobSchedulerRemoveFile" resource="1"/>
  </job>

  <releases>
    <release id="1.3" created="2006-11-10" modified="2008-03-06">
      <title>version 1.3</title>
      <author name="Florian Schreiber" email="florian.schreiber@sos-berlin.com" />
    </release>
  </releases>

  <resources>
    <file os="all" type="java" file="sos.scheduler.jar" id="1" />
    <file os="all" type="java" file="sos.spooler.jar" id="2" />
    <file os="all" type="java" file="sos.util.jar" id="3" >
        <note language="de">
          <div xmlns="http://www.w3.org/1999/xhtml">verwendet die Klasse SOSFileOperations</div>
        </note>
        <note language="en">
          <div xmlns="http://www.w3.org/1999/xhtml">Makes use of the SOSFileOperations class</div>
        </note>
    </file>
  </resources>

  <configuration>
    <note language="de">
      <div xmlns="http://www.w3.org/1999/xhtml">Dieser Job kann standalone oder auftragsgesteuert eingesetzt werden.
        Die Parameter werden entsprechend als Job- oder Auftragsparameter verarbeitet.
      </div>
    </note>
    <note language="en">
      <div xmlns="http://www.w3.org/1999/xhtml">This job can be used standalone or as an order driven job.
        Parameters are accepted as job parameters or as order parameters as appropriate.
      </div>
    </note>
    <params>
      <param name="file" required="true">
        <note language="de">
          <div xmlns="http://www.w3.org/1999/xhtml">Datei oder Verzeichnis</div>
        </note>
        <note language="en">
          <div xmlns="http://www.w3.org/1999/xhtml">file or directory</div>
        </note>
      </param>
      <param name="source_file" required="true">
        <note language="de">
          <div xmlns="http://www.w3.org/1999/xhtml">Alias für den Parameter <code>file</code></div>
        </note>
        <note language="en">
          <div xmlns="http://www.w3.org/1999/xhtml">Alias name for the parameter <code>file</code></div>
        </note>
      </param>
      <param name="file_spec" default_value=".*" required="false">
        <note language="de">
          <div xmlns="http://www.w3.org/1999/xhtml">
            Regulärer Ausdruck als Dateifilter.
            Verhält sich per default CASE_INSENSITIVE.
            <br />
            Nur wirksam, wenn
            <code>file</code>
            ein Verzeichnis ist.
          </div>
        </note>
        <note language="en">
          <div xmlns="http://www.w3.org/1999/xhtml">
            Regular Expression for file filtering.
            Default behaviour is CASE_INSENSITIVE.
            <br/><br/>
            Only effective if
            <code>file</code>
            is a directory.
          </div>
        </note>
      </param>
      <param name="gracious" default_value="false" required="false">
        <note language="de">
          <div xmlns="http://www.w3.org/1999/xhtml">
            Schaltet Fehlermeldungen an oder aus, die aufgrund einer
            nicht existierenden Datei oder eines nicht existierenden Verzeichnisses ausgelöst werden,
            die/das bei <code>file</code> spezifiziert wurde.
            <br/><br/>
            Gültige Werte:
            <em>true, 1, on, yes, y, ja, j, all</em>
            und
            <em>false, 0, off, no, n, nein, none</em>
            <br/><br/>
            Bei auftragsgesteuerter Verwendung dieses Jobs gilt:
            <br/><br/>
            <ul>
              <li>
                Wird der Wert <em>all</em> für diesen Parameter angegeben, dann wird
                der Auftrag in der Job-Kette fortgesetzt unabhängig davon, ob Dateien
                entfernt werden konnten.
              </li>
              <li>
                Wird der Wert <em>true</em> oder ein anderer entsprechend positiver Wert angegeben,
                dann wird der Auftrag in der Job-Kette nicht fortgesetzt, wenn keine
                Datei entfernt werden konnte.
              </li>
            </ul>
          </div>
        </note>
        <note language="en">
          <div xmlns="http://www.w3.org/1999/xhtml">
            Enables or disables error messages that are caused by a nonexistent file or directory
            being specified with <code>file</code>.
            <br/><br/>
            Valid values:
            <em>true, 1, on, yes, y, ja, j, all</em>
            and
            <em>false, 0, off, no, n, nein, none</em>
            <br/><br/>
            The following rules apply when used with orders:
            <br/><br/>
            <ul>
              <li>
                If the value <em>all</em> is specified for this parameter,
                then an order will be continued in its job chain regardless of whether any files could be removed or not.
              </li>
              <li>
                If the value <em>true</em> or any other positive value is specified,
                then the order will not be continued in its job chain if it has not been possible to remove any files.
              </li>
            </ul>
          </div>
        </note>
      </param>
      <param name="recursive" default_value="false" required="false">
        <note language="de">
          <div xmlns="http://www.w3.org/1999/xhtml">
            Unterverzeichnisse rekursiv durchsuchen.
            Nur wirksam, wenn
            <code>file</code>
            ein Verzeichnis ist.
            <br/><br/>
            Gültige Werte:
            <em>true, 1, on, yes, y, ja, j</em>
            und
            <em>false, 0, off, no, n, nein</em>
          </div>
        </note>
        <note language="en">
          <div xmlns="http://www.w3.org/1999/xhtml">
            Search subdirectories recursively.
            Only effective if
            <code>file</code>
            is a directory.
            <br/><br/>
            Valid values:
            <em>true, 1, on, yes, y, ja, j</em>
            and
            <em>false, 0, off, no, n, nein</em>
          </div>
        </note>
      </param>
      <param name="remove_dir" default_value="false" required="false">
        <note language="de">
          <div xmlns="http://www.w3.org/1999/xhtml">
						Wenn dieser Schalter aktiviert ist, werden auch Unterverzeichnisse gelöscht.
						Es werden dann alle Unterverzeichnisse von <code>file</code> gelöscht, auf die <code>file_spec</code> zutrifft.
						Ein betroffenes Verzeichniss wird nur gelöscht, wenn es leer ist.<br/>
            Das Verzeichnis <code>file</code> wird selbst nicht gelöscht.<br/><br/>
            Nur wirksam, wenn <code>file</code> ein Verzeichnis ist.
            <br/><br/>
            Gültige Werte:
            <em>true, 1, on, yes, y, ja, j</em>
            und
            <em>false, 0, off, no, n, nein</em>
          </div>
        </note>
        <note language="en">
          <div xmlns="http://www.w3.org/1999/xhtml">
            If enabled subdirectories are also removed.
            All subdirectories of <code>file</code> are removed which are matched by <code>file_spec</code>.
            An affected subdirectory is only removed if it is empty.<br/>
            The directory <code>file</code> itself is not removed.<br/><br/>
            Only effective if <code>file</code> is a directory.
            <br/><br/>
            Valid values:
            <em>true, 1, on, yes, y, ja, j</em>
            and
            <em>false, 0, off, no, n, nein</em>
          </div>
        </note>
      </param>

      <param name="min_file_age" default_value="0" required="false">
        <note language="de">
          <div xmlns="http://www.w3.org/1999/xhtml">
Mindestalter der Dateien<br/>
Es werden nur Dateien für weitere Operationen berücksichtigt, die
mindestens, d.h. auch einschließlich, das angegebene Alter besitzen.
Dateien werden nicht gelöscht, die jünger sind.<br/>
<br/>
Mögliche Werte sind:<br/>
0 (parameter wird ignoriert)<br/>
Sekunden<br/>
Stunden:Minuten<br/>
Stunden:Minuten:Sekunden
          </div>
        </note>
        <note language="en">
          <div xmlns="http://www.w3.org/1999/xhtml">
Minimum fileage<br/>
Files are only included for further operations if their file age is greater or equal.
Newer files are not removed.<br/>
<br/>
Possible values:<br/>
0 (disabled)<br/>
seconds<br/>
hours:minutes<br/>
hours:minutes:seconds
          </div>
        </note>
      </param>

			<param name="max_file_age" default_value="0" required="false">
			        <note language="de">
			          <div xmlns="http://www.w3.org/1999/xhtml">
Höchstalter der Dateien<br/>
Es werden nur Dateien für weitere Operationen berücksichtigt, die
höchstens, d.h. auch einschließlich, das angegebene Alter besitzen.
Dateien werden nicht gelöscht, die älter sind.<br/>
<br/>
Mögliche Werte sind:<br/>
0 (parameter wird ignoriert)<br/>
Sekunden<br/>
Stunden:Minuten<br/>
Stunden:Minuten:Sekunden
          </div>
        </note>
        <note language="en">
          <div xmlns="http://www.w3.org/1999/xhtml">
Maximum fileage<br/>
Files are only included for further operations if their file age is less or equal.
Older files are not removed.<br/>
<br/>
Possible values:<br/>
0 (disabled)<br/>
seconds<br/>
hours:minutes<br/>
hours:minutes:seconds
          </div>
        </note>
      </param>

			<param name="min_file_size" default_value="-1" required="false">
        <note language="de">
          <div xmlns="http://www.w3.org/1999/xhtml">
Minimale Dateigröße<br/>
Es werden nur Dateien für weitere Operationen berücksichtigt, die
mindestens, d.h. auch einschließlich, die angegebene Größe besitzen.
Dateien werden nicht gelöscht, die kleiner sind.<br/>
<br/>
Mögliche Werte sind:<br/>
-1 (parameter wird ignoriert)<br/>
Zahl (Byte), z.B. 40<br/>
ZahlKB, z.B. 5KB (Groß/Kleinschreibung wird ignoriert)<br/>
ZahlMB, z.B. 20MB (Groß/Kleinschreibung wird ignoriert)<br/>
ZahlGB, z.B. 10GB (Groß/Kleinschreibung wird ignoriert)
          </div>
        </note>
        <note language="en">
          <div xmlns="http://www.w3.org/1999/xhtml">
Minimum filesize<br/>
Files are only included for further operations if their file size is greater or equal.
Smaller files are not removed.<br/>
<br/>
Possible Values:<br/>
-1 (disabled)<br/>
number (Byte), e.g. 40<br/>
numberKB, e.g. 5KB (case insensitive)<br/>
numberMB, e.g. 20MB (case insensitive)<br/>
numberGB, e.g. 10GB (case insensitive)
          </div>
        </note>
      </param>

			<param name="max_file_size" default_value="-1" required="false">
        <note language="de">
          <div xmlns="http://www.w3.org/1999/xhtml">
Maximale Dateigröße<br/>
Es werden nur Dateien für weitere Operationen berücksichtigt, die
höchstens, d.h. auch einschließlich, die angegebene Größe besitzen.
Dateien werden nicht gelöscht, die größer sind.<br/>
<br/>
Mögliche Werte sind:<br/>
-1 (parameter wird ignoriert)<br/>
Zahl (Byte), z.B. 40<br/>
ZahlKB, z.B. 5KB (Groß/Kleinschreibung wird ignoriert)<br/>
ZahlMB, z.B. 20MB (Groß/Kleinschreibung wird ignoriert)<br/>
ZahlGB, z.B. 10GB (Groß/Kleinschreibung wird ignoriert)
          </div>
        </note>
        <note language="en">
          <div xmlns="http://www.w3.org/1999/xhtml">
Maximum filesize<br/>
Files are only included for further operations if their file size is less or equal.
Larger files are not removed.<br/>
<br/>
Possible Values:<br/>
-1 (disabled)<br/>
number (Byte), e.g. 40<br/>
numberKB, e.g. 5KB (case insensitive)<br/>
numberMB, e.g. 20MB (case insensitive)<br/>
numberGB, e.g. 10GB (case insensitive)
          </div>
        </note>
      </param>

			<param name="skip_first_files" default_value="0" required="false">
        <note language="de">
          <div xmlns="http://www.w3.org/1999/xhtml">
Die angegebene Anzahl Dateien wird vom Beginn der Ergebnismenge entfernt.
Auf diese Dateien wirkt sich die weitere Operation nicht aus.<br/>

Der Parameter wirkt auf die resultierende Menge von min_file_size, min_file_age etc.<br/>
<br/>
Die Menge ist sortiert entsprechend der verwendeten einschränkenden Parameter:<br/>
+ min_file_age, max_file_age: aufsteigend nach Änderungsdatum der Datei, d.h. jüngere zuerst<br/>
+ min_file_size, max_file_size: aufsteigend nach Größe, d.h. kleinere zuerst<br/>
+ sind sowohl Parameter für Größe wie Alter angegeben, dann erfolgt die Sortierung nach Alter<br/>
<br/>
Es darf nur entweder skip_first_files oder skip_last_files gesetzt sein.
          </div>
        </note>
        <note language="en">
          <div xmlns="http://www.w3.org/1999/xhtml">
The number of files are removed from the beginning of the set resulting by min_file_size, min_file_age etc.
These files are excluded from further operations.<br/>
<br/>
The result set is sorted according to the used constraining parameters:<br/>
+ min_file_age, max_file_age: in ascending order by date of last modification, the newest file first.<br/>
+ min_file_size, max_file_size: in ascending order by file size, the smallest file first.<br/>
+ if parameters for file age as well as file size are given the set is sorted by file age.<br/>
<br/>
Only either skip_first_files or skip_last_files is allowed to be set at one time.
          </div>
        </note>
      </param>

			<param name="skip_last_files" default_value="0" required="false">
        <note language="de">
          <div xmlns="http://www.w3.org/1999/xhtml">
Die angegebene Anzahl Dateien wird vom Ende der Ergebnismenge entfernt.
Auf diese Dateien wirkt sich die weitere Operation nicht aus.<br/>

Der Parameter wirkt auf die resultierende Menge von min_file_size, min_file_age etc.<br/>
<br/>
Die Menge ist sortiert entsprechend der verwendeten einschränkenden Parameter:<br/>
+ min_file_age, max_file_age: aufsteigend nach Änderungsdatum der Datei, d.h. jüngere zuerst<br/>
+ min_file_size, max_file_size: aufsteigend nach Größe, d.h. kleinere zuerst<br/>
+ sind sowohl Parameter für Größe wie Alter angegeben, dann erfolgt die Sortierung nach Alter<br/>
<br/>
Es darf nur entweder skip_first_files oder skip_last_files gesetzt sein.
          </div>
        </note>
        <note language="en">
          <div xmlns="http://www.w3.org/1999/xhtml">
The number of files are removed from the end of the set resulting by min_file_size, min_file_age etc.
These files are excluded from further operations.<br/>
<br/>
The result set is sorted according to the used constraining parameters:<br/>
+ min_file_age, max_file_age: in ascending order by date of last modification, the newest file first.<br/>
+ min_file_size, max_file_size: in ascending order by file size, the smallest file first.<br/>
+ if parameters for file age as well as file size are given the set is sorted by file age.<br/>
<br/>
Only either skip_first_files or skip_last_files is allowed to be set at one time.
          </div>
        </note>
      </param>

    </params>
  </configuration>

  <documentation language="de">
    <div xmlns="http://www.w3.org/1999/xhtml">Löscht eine oder mehrere Dateien.</div>
  </documentation>

  <documentation language="en">
    <div xmlns="http://www.w3.org/1999/xhtml">Removes one file or several files from the file system.</div>
  </documentation>
</description>