﻿<?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="JobSchedulerRenameFile" title="Rename one or more files" tasks="unbounded">
    <script language="java" java_class="sos.scheduler.file.JobSchedulerRenameFile" 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 then accepted as job or as order parameters respectively.
      </div>
    </note>
    <params>
      <param name="source_file" required="true">
        <note language="de">
          <div xmlns="http://www.w3.org/1999/xhtml">Quelldatei oder Quellverzeichnis</div>
        </note>
        <note language="en">
          <div xmlns="http://www.w3.org/1999/xhtml">Source file or directory</div>
        </note>
      </param>
      <param name="target_file" required="false">
        <note language="de">
          <div xmlns="http://www.w3.org/1999/xhtml">
            Zieldatei oder Zielverzeichnis<br/>
          	Wird <code>target_file</code> nicht angegeben, dann wird der Verzeichnispfad von <code>source_file</code> als Ziel verwendet.
          	<p>
                Unterstützt Substitution von Masken im Verzeichnisnamen mit Formatangaben, die mit <em>[</em> und <em>]</em> geklammert sind.
                Folgende Formate werden unterstützt:
                <br/><br/>
                <ul>
                  <li><code>[date:<em>date format</em>]</code><br/>
                    <em>date format</em> muss ein gültiger Java Format-String für Datumsangaben sein, z.B.<br/>
                    <em>yyyyMMddHHmmss</em>, <em>yyyy-MM-dd.HHmmss</em> etc.
                  </li>
                  <li><code>[directory:]</code><br/>
										Wird durch den Verzeichnispfad von <code>source_file</code> ersetzt.
                  </li>

                  <li><code>[directory:<em>index</em>]</code><br/>
										Wird durch den Verzeichnispfad von <code>source_file</code> bis zu oder ab dem Verzeichnis <em>index</em> ersetzt.<br/>
										<em>index</em> kann eine positive Zahl, eine negative Zahl oder 0 sein.<br/>
										Beispiel:<br/>
                    <code>source_file</code> ist "aaa/bbb/ccc/ddd/", umfasst also 4 Verzeichnisse<br/>
                    <code>[directory:2]</code> liefert "aaa/bbb" zurück.<br/>
                    <code>[directory:-3]</code> liefert "bbb/ccc/ddd" zurück.<br/>
                    <code>[directory:0]</code> oder <code>[directory:-0]</code> liefern immer den kompletten Pfad zurück.<br/>
                    <code>[directory:5]</code> oder <code>[directory:-12]</code> liefern hier den kompletten Pfad zurück.<br/>
                  </li>
                </ul>
            </p>
          </div>
        </note>
        <note language="en">
          <div xmlns="http://www.w3.org/1999/xhtml">
            Target file or directory<br/>
          	If the <code>target_file</code> is not specified, then the dirctory path of <code>source_file</code> is used as target.
          	<p>
                Supports masks for substitution in the file name with format strings that are enclosed by <em>[</em> and <em>]</em>.
                The following format strings are supported:
                <br/><br/>
                <ul>
                  <li><code>[date:<em>date format</em>]</code><br/>
                    <em>date format</em> must be a valid Java data format string, e.g.<br/>
                    <em>yyyyMMddHHmmss</em>, <em>yyyy-MM-dd.HHmmss</em> etc.
                  </li>
                  <li><code>[directory:]</code><br/>
										Is substituted by the directory path of <code>source_file</code>.
                  </li>

                  <li><code>[directory:<em>index</em>]</code><br/>
										Is substituted by the directory path of <code>source_file</code> up to or from the directory number <em>index</em>.<br/>
										<em>index</em> can be a positive number, a negative number or 0.<br/>
										Example:<br/>
                    <code>source_file</code> is "aaa/bbb/ccc/ddd/" (it contains 4 directories)<br/>
                    <code>[directory:2]</code> returns "aaa/bbb"<br/>
                    <code>[directory:-3]</code> returns "bbb/ccc/ddd"<br/>
                    <code>[directory:0]</code> or <code>[directory:-0]</code> return always the complete path.<br/>
                    <code>[directory:5]</code> or <code>[directory:-12]</code> return the complete path in this example.<br/>
                  </li>
                </ul>
            </p>
          </div>
        </note>
      </param>
      <param name="file_spec" required="false" default_value=".*">
        <note language="de">
          <div xmlns="http://www.w3.org/1999/xhtml">
            Regulärer Ausdruck als Dateifilter.
            Verhält sich per default CASE_INSENSITIVE.
            <br clear="none" />
            <br clear="none" />
            Nur wirksam, wenn
            <code>source_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 clear="none" />
            <br clear="none" />
            Only effective if
            <code>source_file</code>
            is a directory.
          </div>
        </note>
      </param>
      <param name="create_dir" default_value="false" required="false">
        <note language="de">
          <div xmlns="http://www.w3.org/1999/xhtml">
            Wenn dieser Schalter aktiviert ist, wird überprüft, ob <code>target_file</code> existiert.<br/>
            Wenn es nicht existiert, wird <code>target_file</code> als Verzeichnis angelegt.
            <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 <code>target_file</code> is checked for existence.<br/>
            If <code>target_file</code> does not exist <code>target_file</code> will be created as 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="recursive" required="false" default_value="false">
        <note language="de">
          <div xmlns="http://www.w3.org/1999/xhtml">
            Unterverzeichnisse des Quellverzeichnisses rekursiv durchsuchen.
            <br clear="none" />
            <br clear="none" />
            Nur wirksam, wenn
            <code>source_file</code>
            ein Verzeichnis ist.
            <br clear="none" />
            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 of the source directory recursively.
            <br clear="none" />
            <br clear="none" />
            Only effective if
            <code>source_file</code>
            is a directory.
            <br clear="none" />
            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="overwrite" required="false" default_value="true">
        <note language="de">
          <div xmlns="http://www.w3.org/1999/xhtml">
            Erlaubt oder verbietet das Überschreiben von bereits existierenden Dateien.
            <br clear="none" />
            <br clear="none" />
            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">
            Allows or prevents overwriting of already existing files.
            <br clear="none" />
            <br clear="none" />
            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="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>source_file</code> oder <code>target_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
                umbenannt 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 umbenannt 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>source_file</code> or <code>target_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 renamed 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 rename any files.
              </li>
            </ul>
          </div>
        </note>
      </param>
      <param name="replacing" required="false">
        <note language="de">
          <div xmlns="http://www.w3.org/1999/xhtml">
            Regulärer Ausdruck für Dateinamensersetzung mit <code>replacement</code>.

            Wenn der Ausdruck im Dateinamen gefunden wird, werden die gefundenen Gruppen ersetzt.<br/>
            <br/>
            a) <br/>
            	Für die Ersetzung werden "capturing groups" verwendet. D.h. nur der Inhalt der Gruppen wird ersetzt.<br/>
            	Ersetzungtsstrings werden mit einem Semikolon ";" getrennt. Beispiel:<br/>
            	<code>replacing</code>: (1)abc(12)def(.*)<br/>
            	<code>replacement</code>: A;BB;CCC<br/>
            	Eingabedatei: 1abc12def123.txt<br/>
            	Ausgabedatei: AabcBBdefCCC<br/>
            <br/>
            b)<br/>
            	Werden keine capturing groups angegeben, dann wird die gesamte Übereinstimmung ersetzt. Beispiel:<br/>
            	<code>replacing</code>: Hallo<br/>
            	<code>replacement</code>: 1234<br/>
            	Eingabedatei: Hallo_Welt.txt<br/>
            	Ausgabedatei: 1234_Welt.txt<br/>
            <br/>
            Erfordert den Parameter <code>replacement</code>.
          </div>
        </note>
        <note language="en">
          <div xmlns="http://www.w3.org/1999/xhtml">
            Regular Expression for filename replacement with <code>replacement</code>.<br/>
						If the expression matches on the filename the found groups are replaced.<br/>
						<br/>
            a) <br/>
            	"capturing groups" are used for replacement.
            	Only the content of the capturing groups is replaced.<br/>
            	Replacements are separated by a semicolon ";". Example:<br/>
            	<code>replacing</code>: (1)abc(12)def(.*)<br/>
            	<code>replacement</code>: A;BB;CCC<br/>
            	Input file: 1abc12def123.txt<br/>
            	Output file: AabcBBdefCCC<br/>
            <br/>
            b)<br/>
            	If no capturing groups are specified the entire match is replaced. Example:<br/>
            	<code>replacing</code>: Hello<br/>
            	<code>replacement</code>: 1234<br/>
            	Input file: Hello_World.txt<br/>
            	Output file: 1234_World.txt<br/>
            <br/>
            Requires that the <code>replacement</code> parameter is specified.
          </div>
        </note>
      </param>
      <param name="replacement" required="false">
        <note language="de">
          <div xmlns="http://www.w3.org/1999/xhtml">
            Zeichenkette für die Ersetzung des Ausdrucks <code>replacing</code>.<br/>
            Sollen mehrere Gruppen ersetzt werden, muss pro Gruppe eine Zeichenkette angegeben werden. Diese werden mit einem Semikolon ";" voneinander getrennt:<br/>
            replacement: aa;[filename:];bb

            <p>
                Unterstützt Substitution von Masken im Dateinamen mit Formatangaben, die mit <em>[</em> und <em>]</em> geklammert sind.
                Folgende Formate werden unterstützt:
                <br/><br/>
                <ul>
                  <li><code>[date:<em>date format</em>]</code><br/>
                    <em>date format</em> muss ein gültiger Java Format-String für Datumsangaben sein, z.B.<br/>
                    <em>yyyyMMddHHmmss</em>, <em>yyyy-MM-dd.HHmmss</em> etc.
                  </li>
                  <li><code>[filename:]</code><br/>
                    Wird durch den ursprünglichen Dateinamen ersetzt.
                  </li>
                  <li><code>[filename:lowercase]</code><br/>
                    Wird durch den ursprünglichen Dateinamen in Kleinbuchstaben ersetzt.
                  </li>
                  <li><code>[filename:uppercase]</code><br/>
                    Wird durch den ursprünglichen Dateinamen in Grossbuchstaben ersetzt.
                  </li>
                </ul>
            </p>

            Erfordert den Parameter <code>replacing</code>.
          </div>
        </note>
        <note language="en">
          <div xmlns="http://www.w3.org/1999/xhtml">
            String for replacement of the <code>replacing</code> expression.<br/>
            If multiple groups are to be replaced then one replacement string per group must be specified.
            These strings are separated by a semicolon ";":<br/>
            replacement: aa;[filename:];bb

            <p>
                Supports masks for substitution in the file name with format strings that are enclosed by <em>[</em> and <em>]</em>.
                The following format strings are supported:
                <br/><br/>
                <ul>
                  <li><code>[date:<em>date format</em>]</code><br/>
                    <em>date format</em> must be a valid Java data format string, e.g.<br/>
                    <em>yyyyMMddHHmmss</em>, <em>yyyy-MM-dd.HHmmss</em> etc.
                  </li>
                  <li><code>[filename:]</code><br/>
                    Will be substituted by the original file name.
                  </li>
                  <li><code>[filename:lowercase]</code><br/>
                    Will be substituted by the original file name with all characters converted to lower case.
                  </li>
                  <li><code>[filename:uppercase]</code><br/>
                    Will be substituted by the original file name with all characters converted to upper case.
                  </li>
                </ul>
              </p>

              Requires the <code>replacing</code> parameter to be specified.
          </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 umbenannt, 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 renamed.<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 umbenannt, 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 renamed.<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 umbenannt, 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 renamed.<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 umbenannt, 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 renamed.<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">
    	Dieser Job benennt eine Datei oder mehrere Dateien eines Verzeichnisses um.
    	<p>
			<strong>Beispiele:</strong><br/>
			<br/>
    	<table border="1" cellspacing="0">
					<tr>
						<th><code>source_file</code></th>
						<th><code>file_spec</code></th>
						<th><code>replacing</code></th>
						<th><code>replacement</code></th>
						<th>Beispiel</th>
						<th>Ergebnis</th>
						<th>Kommentar</th>
					</tr>
					<tr>
						<td>./temp</td>
						<td>.*</td>
						<td>~</td>
						<td>""</td>
						<td>hallo.dat~</td>
						<td>hallo.dat</td>
						<td>-</td>
					</tr>
					<tr>
						<td>a.txt</td>
						<td>-</td>
						<td>[.]txt</td>
						<td>_2006-11-24.txt</td>
						<td>-</td>
						<td>a_2006-11-24.txt</td>
						<td>-</td>
					</tr>
					<tr>
						<td>./temp</td>
						<td>.*</td>
						<td>.*</td>
						<td>[filename:] [date:yyyy-MM-dd].dat</td>
						<td>a.txt</td>
						<td>a.txt2006-11-24.dat</td>
						<td>[filename:] und [date:] werden substituiert nachdem die Ersetzung durchgeführt wurde</td>
					</tr>
					<tr>
						<td>./temp</td>
						<td>.*[.]txt</td>
						<td>a.*?b</td>
						<td>world</td>
						<td>a.1.b.txt.b</td>
						<td>world.txt.b</td>
						<td>.*? : Verwendung von .* im Modus "ungreedy"</td>
					</tr>
					<tr>
						<td>abcdefg.txt</td>
						<td>-</td>
						<td>^(ab)cde(fg)[.]txt</td>
						<td>123;[date:yyyy-MM-dd]</td>
						<td>-</td>
						<td>123cde2006-11-24.txt</td>
						<td>; : Trennzeichen zwischen mehreren Ersetzungsstrings</td>
					</tr>
					<tr>
						<td>./temp</td>
						<td>.*dat$</td>
						<td>(ab)_c[0-9]d_(fg)</td>
						<td>group1;group2</td>
						<td>ab_c1d_fg. ab_c2d_fg.dat</td>
						<td>group1_c1d_group2. ab_c2d_fg.dat</td>
						<td>Nur die erste Übereinstimmung des Musters wird ersetzt.</td>
					</tr>
					<tr>
						<td>./temp</td>
						<td>.*</td>
						<td>^(?:aa|bb)_.{2}_ ([0-9]+_[0-9]+)$</td>
						<td>tail</td>
						<td>aa_QU_061205_222334</td>
						<td>aa_QU_tail</td>
						<td>(?:...) : "?:" Spezifiziert eine "non capturing group". Diese wird nicht ersetzt.</td>
					</tr>
					<tr>
						<td>./temp</td>
						<td>FILE.txt</td>
						<td>.*</td>
						<td>[filename:lowercase]_[filename:uppercase]_[filename:]</td>
						<td>FILE.txt</td>
						<td>file.txt_FILE.TXT_FILE.txt</td>
						<td>-</td>
					</tr>
				</table>
				<br/>
				<table border="1" cellspacing="0">
					<tr>
						<th><code>source_file</code></th>
						<th><code>target_file</code></th>
						<th><code>file_spec</code></th>
						<th><code>create_dir</code></th>
						<th><code>replacing</code></th>
						<th><code>replacement</code></th>
						<th>Beispiel</th>
						<th>Ergebnis</th>
						<th>Kommentar</th>
					</tr>
					<tr>
						<td>aaa/bbb/</td>
						<td>[directory:]/[date:yyyyMMdd]/</td>
						<td>hello.txt</td>
						<td>true</td>
						<td>[.]txt</td>
						<td>[date:yyyy].txt</td>
						<td>aaa/bbb/hello.txt</td>
						<td>aaa/bbb/20070316/hello2007.txt</td>
						<td>Wenn das Verzeichnis aaa/bbb/20070316 noch nicht existiert, wird es angelegt</td>
					</tr>
				</table>
			</p>
			Für weitere Informationen, siehe <a href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html">java.util.regex.Pattern</a>
    </div>
  </documentation>
  <documentation language="en">
    <div xmlns="http://www.w3.org/1999/xhtml">
    	This job renames one or more files.
    	<p>
    	<strong>Examples:</strong><br/>
    	<br/>
    	<table border="1" cellspacing="0">
					<tr>
						<th><code>source_file</code></th>
						<th><code>file_spec</code></th>
						<th><code>replacing</code></th>
						<th><code>replacement</code></th>
						<th>Example Input</th>
						<th>Output</th>
						<th>Comment</th>
					</tr>
					<tr>
						<td>./temp</td>
						<td>.*</td>
						<td>~</td>
						<td>""</td>
						<td>hallo.dat~</td>
						<td>hallo.dat</td>
						<td>-</td>
					</tr>
					<tr>
						<td>a.txt</td>
						<td>-</td>
						<td>[.]txt</td>
						<td>_2006-11-24.txt</td>
						<td>-</td>
						<td>a_2006-11-24.txt</td>
						<td>-</td>
					</tr>
					<tr>
						<td>./temp</td>
						<td>.*</td>
						<td>.*</td>
						<td>[filename:] [date:yyyy-MM-dd].dat</td>
						<td>a.txt</td>
						<td>a.txt2006-11-24.dat</td>
						<td>[filename:] and [date:] will be substituted after file has been replaced</td>
					</tr>
					<tr>
						<td>./temp</td>
						<td>.*[.]txt</td>
						<td>a.*?b</td>
						<td>world</td>
						<td>a.1.b.txt.b</td>
						<td>world.txt.b</td>
						<td>.*? : ungreedy usage of .*</td>
					</tr>
					<tr>
						<td>abcdefg.txt</td>
						<td>-</td>
						<td>^(ab)cde(fg)[.]txt</td>
						<td>123;[date:yyyy-MM-dd]</td>
						<td>-</td>
						<td>123cde2006-11-24.txt</td>
						<td>; : separator between multiple replacements</td>
					</tr>
					<tr>
						<td>./temp</td>
						<td>.*dat$</td>
						<td>(ab)_c[0-9]d_(fg)</td>
						<td>group1;group2</td>
						<td>ab_c1d_fg. ab_c2d_fg.dat</td>
						<td>group1_c1d_group2. ab_c2d_fg.dat</td>
						<td>Only the first pattern match is replaced</td>
					</tr>
					<tr>
						<td>./temp</td>
						<td>.*</td>
						<td>^(?:aa|bb)_. {2}_([0-9]+_[0-9]+)$</td>
						<td>tail</td>
						<td>aa_QU_061205_222334</td>
						<td>aa_QU_tail</td>
						<td>(?:...) : "?:" specifies a non capturing group. The file will not be replaced.</td>
					</tr>
					<tr>
						<td>./temp</td>
						<td>FILE.txt</td>
						<td>.*</td>
						<td>[filename:lowercase]_[filename:uppercase]_[filename:]</td>
						<td>FILE.txt</td>
						<td>file.txt_FILE.TXT_FILE.txt</td>
						<td>-</td>
					</tr>
				</table>
				<br/>
				<table border="1" cellspacing="0">
					<tr>
						<th><code>source_file</code></th>
						<th><code>target_file</code></th>
						<th><code>file_spec</code></th>
						<th><code>create_dir</code></th>
						<th><code>replacing</code></th>
						<th><code>replacement</code></th>
						<th>Example input</th>
						<th>Output</th>
						<th>Comment</th>
					</tr>
					<tr>
						<td>aaa/bbb/</td>
						<td>[directory:]/[date:yyyyMMdd]/</td>
						<td>hello.txt</td>
						<td>true</td>
						<td>[.]txt</td>
						<td>[date:yyyy].txt</td>
						<td>aaa/bbb/hello.txt</td>
						<td>aaa/bbb/20070316/hello2007.txt</td>
						<td>If the directory aaa/bbb/20070316 does not yet exist it will be created</td>
					</tr>
				</table>
			</p>
			For further information see <a href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html">java.util.regex.Pattern</a>
    </div>
  </documentation>
</description>

