diff --git a/.project b/.project new file mode 100644 index 0000000..3fb5891 --- /dev/null +++ b/.project @@ -0,0 +1,11 @@ + + + PR2-Roboterfabrik + + + + + + + + diff --git a/Roboterfabrik/doc/Domäne/C3PO.html b/Roboterfabrik/doc/Domäne/C3PO.html new file mode 100644 index 0000000..6c67508 --- /dev/null +++ b/Roboterfabrik/doc/Domäne/C3PO.html @@ -0,0 +1,223 @@ + + + + +C3PO + + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package Domäne
+

Class C3PO

+
+ +
+
+
All Implemented Interfaces:
+
Robot, RobotControl, RobotInstructions
+
+
+
public class C3PO +extends Roboter
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      C3PO

      +
      public C3PO(String name, + int id)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getId

      +
      public int getId()
      +
      Description copied from interface: RobotControl
      +
      Gibt die ID (Seriennummer) des Roboters zurück.
      +
      +
      Specified by:
      +
      getId in interface RobotControl
      +
      Specified by:
      +
      getId in class Roboter
      +
      Returns:
      +
      Eine eindeutige Identifikation in Form einer Zahl.
      +
      +
      +
    • +
    • +
      +

      think

      +
      public int[] think(int[] zahlen) + throws RobotException
      +
      Description copied from interface: RobotInstructions
      +
      Sortiert ein Array von Zahlen. Die Reihenfolge hängt von dem Typ des + Roboters ab.
      +
      +
      Specified by:
      +
      think in interface RobotInstructions
      +
      Specified by:
      +
      think in class Roboter
      +
      Parameters:
      +
      zahlen - Zahlen, die sortiert werden sollen.
      +
      Returns:
      +
      Sortierte Zahlen
      +
      Throws:
      +
      RobotException - wenn der Roboter in einem ungültigen Zustand ist, + oder das Array nicht seinen Vorstellungen entspricht.
      +
      +
      +
    • +
    • +
      +

      getRobotType

      +
      public RobotType getRobotType()
      +
      +
      Specified by:
      +
      getRobotType in class Roboter
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/Roboterfabrik/doc/Domäne/Nexus6.html b/Roboterfabrik/doc/Domäne/Nexus6.html new file mode 100644 index 0000000..a679321 --- /dev/null +++ b/Roboterfabrik/doc/Domäne/Nexus6.html @@ -0,0 +1,250 @@ + + + + +Nexus6 + + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package Domäne
+

Class Nexus6

+
+
java.lang.Object +
Domäne.Roboter +
Domäne.Nexus6
+
+
+
+
+
All Implemented Interfaces:
+
Robot, RobotControl, RobotInstructions
+
+
+
public class Nexus6 +extends Roboter
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getInstance

      +
      public static Nexus6 getInstance()
      +
      +
    • +
    • +
      +

      triggerPowerSwitch

      +
      public void triggerPowerSwitch()
      +
      Description copied from interface: RobotControl
      +
      Betätigen den An-/Ausschaltknopf.
      +
      +
      Specified by:
      +
      triggerPowerSwitch in interface RobotControl
      +
      Overrides:
      +
      triggerPowerSwitch in class Roboter
      +
      +
      +
    • +
    • +
      +

      getId

      +
      public int getId()
      +
      Description copied from interface: RobotControl
      +
      Gibt die ID (Seriennummer) des Roboters zurück.
      +
      +
      Specified by:
      +
      getId in interface RobotControl
      +
      Specified by:
      +
      getId in class Roboter
      +
      Returns:
      +
      Eine eindeutige Identifikation in Form einer Zahl.
      +
      +
      +
    • +
    • +
      +

      speak

      +
      public String speak(int[] zahlen) + throws RobotException
      +
      Description copied from interface: RobotInstructions
      +
      Gibt ein Array von Zahlen als String zurück. Die Zahlen werden + nicht sortiert.
      +
      +
      Specified by:
      +
      speak in interface RobotInstructions
      +
      Overrides:
      +
      speak in class Roboter
      +
      Parameters:
      +
      zahlen - Zahlen, die ausgegeben werden sollen.
      +
      Returns:
      +
      Zahlen als String
      +
      Throws:
      +
      RobotException - wenn der Roboter in einem ungültigen Zustand ist, + oder das Array nicht seinen Vorstellungen entspricht.
      +
      +
      +
    • +
    • +
      +

      think

      +
      public int[] think(int[] zahlen) + throws RobotException
      +
      Description copied from interface: RobotInstructions
      +
      Sortiert ein Array von Zahlen. Die Reihenfolge hängt von dem Typ des + Roboters ab.
      +
      +
      Specified by:
      +
      think in interface RobotInstructions
      +
      Specified by:
      +
      think in class Roboter
      +
      Parameters:
      +
      zahlen - Zahlen, die sortiert werden sollen.
      +
      Returns:
      +
      Sortierte Zahlen
      +
      Throws:
      +
      RobotException - wenn der Roboter in einem ungültigen Zustand ist, + oder das Array nicht seinen Vorstellungen entspricht.
      +
      +
      +
    • +
    • +
      +

      getRobotType

      +
      public RobotType getRobotType()
      +
      +
      Specified by:
      +
      getRobotType in class Roboter
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/Roboterfabrik/doc/Domäne/R2D2.html b/Roboterfabrik/doc/Domäne/R2D2.html new file mode 100644 index 0000000..08641c0 --- /dev/null +++ b/Roboterfabrik/doc/Domäne/R2D2.html @@ -0,0 +1,223 @@ + + + + +R2D2 + + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package Domäne
+

Class R2D2

+
+ +
+
+
All Implemented Interfaces:
+
Robot, RobotControl, RobotInstructions
+
+
+
public class R2D2 +extends Roboter
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      R2D2

      +
      public R2D2(String name, + int id)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      think

      +
      public int[] think(int[] zahlen) + throws RobotException
      +
      Description copied from interface: RobotInstructions
      +
      Sortiert ein Array von Zahlen. Die Reihenfolge hängt von dem Typ des + Roboters ab.
      +
      +
      Specified by:
      +
      think in interface RobotInstructions
      +
      Specified by:
      +
      think in class Roboter
      +
      Parameters:
      +
      zahlen - Zahlen, die sortiert werden sollen.
      +
      Returns:
      +
      Sortierte Zahlen
      +
      Throws:
      +
      RobotException - wenn der Roboter in einem ungültigen Zustand ist, + oder das Array nicht seinen Vorstellungen entspricht.
      +
      +
      +
    • +
    • +
      +

      getId

      +
      public int getId()
      +
      Description copied from interface: RobotControl
      +
      Gibt die ID (Seriennummer) des Roboters zurück.
      +
      +
      Specified by:
      +
      getId in interface RobotControl
      +
      Specified by:
      +
      getId in class Roboter
      +
      Returns:
      +
      Eine eindeutige Identifikation in Form einer Zahl.
      +
      +
      +
    • +
    • +
      +

      getRobotType

      +
      public RobotType getRobotType()
      +
      +
      Specified by:
      +
      getRobotType in class Roboter
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/Roboterfabrik/doc/Domäne/RobotFactory.html b/Roboterfabrik/doc/Domäne/RobotFactory.html new file mode 100644 index 0000000..6ae5801 --- /dev/null +++ b/Roboterfabrik/doc/Domäne/RobotFactory.html @@ -0,0 +1,354 @@ + + + + +RobotFactory + + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package Domäne
+

Class RobotFactory

+
+
java.lang.Object +
Domäne.RobotFactory
+
+
+
+
public class RobotFactory +extends Object
+
Factory-Klasse für R2D2 und C3PO
+
+
Author:
+
Kai-Niklas Dippold
+
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
    +
    Benennt die RobotFactory und setzt Nexus-Roboter "Pris" ins Roboterlager
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    int
    +
    addRobot(RobotType robotType, + String name)
    +
    +
    Erstellt neue Roboter nach Anforderungen, speichert diese im Roboterlager und + gibt die Id des erstellten Roboters zurück
    +
    + +
    aufrufSpeakAndThink(int id, + int[] zahlen)
    +
    +
    Ruft die Methoden think() und speak() eines Roboters auf und gibt dessen + Ausgabe wieder.
    +
    + + +
    +
    Gibt die Daten eines Roboters wieder
    +
    + +
    findeRoboter(int id)
    +
    +
    Duchsucht das Roboterlager nach einem bestimmten Roboter
    +
    + + +
    +
    Gibt den Namen der RobotFactory zurück.
    +
    +
    int
    + +
    +
    Gibt die Größe des Roboterlagers an.
    +
    +
    boolean
    + +
    +
    Überprüft ob das Lager einen bestimmten Roboter enthält.
    +
    + +
    letzterFehler(int id)
    +
    +
    Gibt den letzten Fehler zurück, auf den der Roboter gestoßen ist
    +
    +
    boolean
    + +
    +
    Prüft ob ein Roboter ein- oder ausgeschaltet ist
    +
    +
    boolean
    +
    schalterAnAus(int id)
    +
    +
    Schaltet einen Roboter ein wenn er ausgeschaltet ist und schaltet ihn aus + wenn er eingeschaltet ist
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      RobotFactory

      +
      public RobotFactory(String name)
      +
      Benennt die RobotFactory und setzt Nexus-Roboter "Pris" ins Roboterlager
      +
      +
      Parameters:
      +
      name - Name der RobotFactory
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      addRobot

      +
      public int addRobot(RobotType robotType, + String name)
      +
      Erstellt neue Roboter nach Anforderungen, speichert diese im Roboterlager und + gibt die Id des erstellten Roboters zurück
      +
      +
      Parameters:
      +
      robotType - entweder R2D2 oder C3PO
      +
      name - Name des Roboters
      +
      Returns:
      +
      Gibt die ID des erstellten Roboters zurück.
      +
      +
      +
    • +
    • +
      +

      getName

      +
      public String getName()
      +
      Gibt den Namen der RobotFactory zurück.
      +
      +
      Returns:
      +
      Name der RobotFactory
      +
      +
      +
    • +
    • +
      +

      findeRoboter

      +
      public Roboter findeRoboter(int id)
      +
      Duchsucht das Roboterlager nach einem bestimmten Roboter
      +
      +
      Parameters:
      +
      id - Id des Roboters
      +
      Returns:
      +
      Instanz des Roboters mit der gefragten Id
      +
      +
      +
    • +
    • +
      +

      roboterZustand

      +
      public boolean roboterZustand(int id)
      +
      Prüft ob ein Roboter ein- oder ausgeschaltet ist
      +
      +
      Parameters:
      +
      id - Id des Roboters
      +
      Returns:
      +
      Zustand des Roboters
      +
      +
      +
    • +
    • +
      +

      schalterAnAus

      +
      public boolean schalterAnAus(int id)
      +
      Schaltet einen Roboter ein wenn er ausgeschaltet ist und schaltet ihn aus + wenn er eingeschaltet ist
      +
      +
      Parameters:
      +
      id - Id des Roboters
      +
      Returns:
      +
      Zustand des Roboters
      +
      +
      +
    • +
    • +
      +

      aufrufSpeakAndThink

      +
      public String aufrufSpeakAndThink(int id, + int[] zahlen) + throws RobotException
      +
      Ruft die Methoden think() und speak() eines Roboters auf und gibt dessen + Ausgabe wieder.
      +
      +
      Parameters:
      +
      id - Id des Roboters
      +
      zahlen - Int-Array
      +
      Returns:
      +
      String mit dem Inhalt des gegebenen Arrays, nachdem es von dem + Roboter sortiert wurde.
      +
      Throws:
      +
      RobotException
      +
      +
      +
    • +
    • +
      +

      letzterFehler

      +
      public RobotException letzterFehler(int id)
      +
      Gibt den letzten Fehler zurück, auf den der Roboter gestoßen ist
      +
      +
      Parameters:
      +
      id - Id des Roboters
      +
      Returns:
      +
      Die RobotException welche im Roboter gespeichert ist
      +
      +
      +
    • +
    • +
      +

      datenDesRoboters

      +
      public String datenDesRoboters(int id)
      +
      Gibt die Daten eines Roboters wieder
      +
      +
      Parameters:
      +
      id - Id des Roboters
      +
      Returns:
      +
      String mit Typ, Namen und Id des Roboters
      +
      +
      +
    • +
    • +
      +

      getRoboterLagerSize

      +
      public int getRoboterLagerSize()
      +
      Gibt die Größe des Roboterlagers an.
      +
      +
      Returns:
      +
      Größe des Roboterlagers
      +
      +
      +
    • +
    • +
      +

      istDieserRoboterDa

      +
      public boolean istDieserRoboterDa(int id)
      +
      Überprüft ob das Lager einen bestimmten Roboter enthält.
      +
      +
      Parameters:
      +
      id - Id des Roboters
      +
      Returns:
      +
      true oder false je nachdem ob der Roboter im Lager vorhanden ist
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/Roboterfabrik/doc/Domäne/RobotType.html b/Roboterfabrik/doc/Domäne/RobotType.html new file mode 100644 index 0000000..9ab6b43 --- /dev/null +++ b/Roboterfabrik/doc/Domäne/RobotType.html @@ -0,0 +1,226 @@ + + + + +RobotType + + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package Domäne
+

Enum Class RobotType

+
+
java.lang.Object +
java.lang.Enum<RobotType> +
Domäne.RobotType
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<RobotType>, Constable
+
+
+
public enum RobotType +extends Enum<RobotType>
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      R2D2

      +
      public static final RobotType R2D2
      +
      +
    • +
    • +
      +

      C3PO

      +
      public static final RobotType C3PO
      +
      +
    • +
    • +
      +

      NEXUS6

      +
      public static final RobotType NEXUS6
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      public static RobotType[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      public static RobotType valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/Roboterfabrik/doc/Domäne/Roboter.html b/Roboterfabrik/doc/Domäne/Roboter.html new file mode 100644 index 0000000..1e1eec4 --- /dev/null +++ b/Roboterfabrik/doc/Domäne/Roboter.html @@ -0,0 +1,288 @@ + + + + +Roboter + + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package Domäne
+

Class Roboter

+
+
java.lang.Object +
Domäne.Roboter
+
+
+
+
All Implemented Interfaces:
+
Robot, RobotControl, RobotInstructions
+
+
+
Direct Known Subclasses:
+
C3PO, Nexus6, R2D2
+
+
+
public abstract class Roboter +extends Object +implements Robot
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getId

      +
      public abstract int getId()
      +
      Description copied from interface: RobotControl
      +
      Gibt die ID (Seriennummer) des Roboters zurück.
      +
      +
      Specified by:
      +
      getId in interface RobotControl
      +
      Returns:
      +
      Eine eindeutige Identifikation in Form einer Zahl.
      +
      +
      +
    • +
    • +
      +

      getName

      +
      public String getName()
      +
      Description copied from interface: RobotControl
      +
      Gibt den Namen des Roboter-Exemplars zurück.
      +
      +
      Specified by:
      +
      getName in interface RobotControl
      +
      Returns:
      +
      Der Name des Roboters.
      +
      +
      +
    • +
    • +
      +

      triggerPowerSwitch

      +
      public void triggerPowerSwitch()
      +
      Description copied from interface: RobotControl
      +
      Betätigen den An-/Ausschaltknopf.
      +
      +
      Specified by:
      +
      triggerPowerSwitch in interface RobotControl
      +
      +
      +
    • +
    • +
      +

      isPowerOn

      +
      public boolean isPowerOn()
      +
      Description copied from interface: RobotControl
      +
      Prüft ob der Roboter eingeschaltet ist.
      +
      +
      Specified by:
      +
      isPowerOn in interface RobotControl
      +
      Returns:
      +
      true bedeutet, dass der Roboter eingeschaltet ist, + false, dass er nicht eingeschaltet ist.
      +
      +
      +
    • +
    • +
      +

      getLastException

      +
      public RobotException getLastException()
      +
      Description copied from interface: RobotControl
      +
      Ruft die zuletzt aufgetretene Ausnahme aus der Blackbox ab.
      +
      +
      Specified by:
      +
      getLastException in interface RobotControl
      +
      Returns:
      +
      zuletzt aufgetretene Ausnahme oder null falls noch + keine aufgetreten ist.
      +
      +
      +
    • +
    • +
      +

      speak

      +
      public String speak(int[] zahlen) + throws RobotException
      +
      Description copied from interface: RobotInstructions
      +
      Gibt ein Array von Zahlen als String zurück. Die Zahlen werden + nicht sortiert.
      +
      +
      Specified by:
      +
      speak in interface RobotInstructions
      +
      Parameters:
      +
      zahlen - Zahlen, die ausgegeben werden sollen.
      +
      Returns:
      +
      Zahlen als String
      +
      Throws:
      +
      RobotException - wenn der Roboter in einem ungültigen Zustand ist, + oder das Array nicht seinen Vorstellungen entspricht.
      +
      +
      +
    • +
    • +
      +

      think

      +
      public abstract int[] think(int[] zahlen) + throws RobotException
      +
      Description copied from interface: RobotInstructions
      +
      Sortiert ein Array von Zahlen. Die Reihenfolge hängt von dem Typ des + Roboters ab.
      +
      +
      Specified by:
      +
      think in interface RobotInstructions
      +
      Parameters:
      +
      zahlen - Zahlen, die sortiert werden sollen.
      +
      Returns:
      +
      Sortierte Zahlen
      +
      Throws:
      +
      RobotException - wenn der Roboter in einem ungültigen Zustand ist, + oder das Array nicht seinen Vorstellungen entspricht.
      +
      +
      +
    • +
    • +
      +

      getRobotType

      +
      public abstract RobotType getRobotType()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/Roboterfabrik/doc/Domäne/class-use/C3PO.html b/Roboterfabrik/doc/Domäne/class-use/C3PO.html new file mode 100644 index 0000000..eea2926 --- /dev/null +++ b/Roboterfabrik/doc/Domäne/class-use/C3PO.html @@ -0,0 +1,58 @@ + + + + +Uses of Class Domäne.C3PO + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
Domäne.C3PO

+
+No usage of Domäne.C3PO
+
+
+ + diff --git a/Roboterfabrik/doc/Domäne/class-use/Nexus6.html b/Roboterfabrik/doc/Domäne/class-use/Nexus6.html new file mode 100644 index 0000000..40797df --- /dev/null +++ b/Roboterfabrik/doc/Domäne/class-use/Nexus6.html @@ -0,0 +1,83 @@ + + + + +Uses of Class Domäne.Nexus6 + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
Domäne.Nexus6

+
+
Packages that use Nexus6
+
+
Package
+
Description
+ +
 
+
+
+ +
+
+
+
+ + diff --git a/Roboterfabrik/doc/Domäne/class-use/R2D2.html b/Roboterfabrik/doc/Domäne/class-use/R2D2.html new file mode 100644 index 0000000..54fe6f6 --- /dev/null +++ b/Roboterfabrik/doc/Domäne/class-use/R2D2.html @@ -0,0 +1,58 @@ + + + + +Uses of Class Domäne.R2D2 + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
Domäne.R2D2

+
+No usage of Domäne.R2D2
+
+
+ + diff --git a/Roboterfabrik/doc/Domäne/class-use/RobotFactory.html b/Roboterfabrik/doc/Domäne/class-use/RobotFactory.html new file mode 100644 index 0000000..006b10a --- /dev/null +++ b/Roboterfabrik/doc/Domäne/class-use/RobotFactory.html @@ -0,0 +1,58 @@ + + + + +Uses of Class Domäne.RobotFactory + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
Domäne.RobotFactory

+
+No usage of Domäne.RobotFactory
+
+
+ + diff --git a/Roboterfabrik/doc/Domäne/class-use/RobotType.html b/Roboterfabrik/doc/Domäne/class-use/RobotType.html new file mode 100644 index 0000000..646252d --- /dev/null +++ b/Roboterfabrik/doc/Domäne/class-use/RobotType.html @@ -0,0 +1,116 @@ + + + + +Uses of Enum Class Domäne.RobotType + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Enum Class
Domäne.RobotType

+
+
Packages that use RobotType
+
+
Package
+
Description
+ +
 
+
+
+ +
+
+
+
+ + diff --git a/Roboterfabrik/doc/Domäne/class-use/Roboter.html b/Roboterfabrik/doc/Domäne/class-use/Roboter.html new file mode 100644 index 0000000..2b6ffcf --- /dev/null +++ b/Roboterfabrik/doc/Domäne/class-use/Roboter.html @@ -0,0 +1,100 @@ + + + + +Uses of Class Domäne.Roboter + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
Domäne.Roboter

+
+
Packages that use Roboter
+
+
Package
+
Description
+ +
 
+
+
+ +
+
+
+
+ + diff --git a/Roboterfabrik/doc/Domäne/package-summary.html b/Roboterfabrik/doc/Domäne/package-summary.html new file mode 100644 index 0000000..968cc37 --- /dev/null +++ b/Roboterfabrik/doc/Domäne/package-summary.html @@ -0,0 +1,101 @@ + + + + +Domäne + + + + + + + + + + + + + + + +
+ +
+
+
+

Package Domäne

+
+
+
package Domäne
+
+ +
+
+
+
+ + diff --git a/Roboterfabrik/doc/Domäne/package-tree.html b/Roboterfabrik/doc/Domäne/package-tree.html new file mode 100644 index 0000000..9bfc820 --- /dev/null +++ b/Roboterfabrik/doc/Domäne/package-tree.html @@ -0,0 +1,93 @@ + + + + +Domäne Class Hierarchy + + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package Domäne

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+
+
+ + diff --git a/Roboterfabrik/doc/Domäne/package-use.html b/Roboterfabrik/doc/Domäne/package-use.html new file mode 100644 index 0000000..d0dc9fb --- /dev/null +++ b/Roboterfabrik/doc/Domäne/package-use.html @@ -0,0 +1,84 @@ + + + + +Uses of Package Domäne + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
Domäne

+
+
Packages that use Domäne
+
+
Package
+
Description
+ +
 
+
+
+ +
+
+
+
+ + diff --git a/Roboterfabrik/doc/allclasses-index.html b/Roboterfabrik/doc/allclasses-index.html new file mode 100644 index 0000000..6e91bdd --- /dev/null +++ b/Roboterfabrik/doc/allclasses-index.html @@ -0,0 +1,111 @@ + + + + +All Classes and Interfaces + + + + + + + + + + + + + + + +
+ +
+
+
+

All Classes and Interfaces

+
+
+
+
+
+
Class
+
Description
+ +
 
+ +
 
+ +
+
Factorysystem agiert als Fassade für RobotFactory
+
+ +
 
+ +
 
+ +
 
+ +
+
Interface für Roboter.
+
+ +
+
Das Interface repräsentiert einen einfachen Roboter mit seinen Funktionen.
+
+ +
 
+ +
 
+ +
+
Factory-Klasse für R2D2 und C3PO
+
+ +
 
+ +
+
Das Interface repräsentiert den Befehlssatz eines einfachen Roboters.
+
+ +
 
+ +
 
+
+
+
+
+
+
+ + diff --git a/Roboterfabrik/doc/allpackages-index.html b/Roboterfabrik/doc/allpackages-index.html new file mode 100644 index 0000000..2204379 --- /dev/null +++ b/Roboterfabrik/doc/allpackages-index.html @@ -0,0 +1,75 @@ + + + + +All Packages + + + + + + + + + + + + + + + +
+ +
+
+
+

All Packages

+
+
Package Summary
+
+
Package
+
Description
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+
+
+
+
+ + diff --git a/Roboterfabrik/doc/element-list b/Roboterfabrik/doc/element-list new file mode 100644 index 0000000..013b9f6 --- /dev/null +++ b/Roboterfabrik/doc/element-list @@ -0,0 +1,6 @@ +Domäne +facade +main +tpe.exceptions.roboter +tpe.exceptions.roboter.exceptions +ui diff --git a/Roboterfabrik/doc/facade/Factorysystem.html b/Roboterfabrik/doc/facade/Factorysystem.html new file mode 100644 index 0000000..4f34f8f --- /dev/null +++ b/Roboterfabrik/doc/facade/Factorysystem.html @@ -0,0 +1,259 @@ + + + + +Factorysystem + + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package facade
+

Class Factorysystem

+
+
java.lang.Object +
facade.Factorysystem
+
+
+
+
public class Factorysystem +extends Object
+
Factorysystem agiert als Fassade für RobotFactory
+
+
Author:
+
Kai-Niklas Dippold
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Factorysystem

      +
      public Factorysystem(String name)
      +
      Erstellt eine neue RobotFactory mit dem gegebenen Namen
      +
      +
      Parameters:
      +
      name - Name der RobotFactory
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      roboterAnlegen

      +
      public int roboterAnlegen(String name, + int auswahl)
      +
      Legt einen neuen Roboter je nach Auswahl mit dem gegebenen Namen an
      +
      +
      Parameters:
      +
      name - Name des Roboters
      +
      auswahl - Bei 1 wird ein R2D2 erstellt, bei 2 ein C3PO.
      +
      Returns:
      +
      Gibt die ID des erstellten Roboters zurück
      +
      +
      +
    • +
    • +
      +

      zustandRoboter

      +
      public boolean zustandRoboter(int id)
      +
      Ruft die Methode roboterZustand(id) in der RobotFactory auf
      +
      +
      Parameters:
      +
      id - Id des Roboters
      +
      Returns:
      +
      Gibt die Wiedergabe von roboterZustand(id) zurück
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      schalterBetätigen

      +
      public boolean schalterBetätigen(int id)
      +
      +
    • +
    • +
      +

      sprechenAufruf

      +
      public String sprechenAufruf(int id, + int[] zahlen) + throws RobotException
      +
      +
      Throws:
      +
      RobotException
      +
      +
      +
    • +
    • +
      +

      fehlerAuslesen

      +
      public RobotException fehlerAuslesen(int id)
      +
      +
    • +
    • +
      +

      roboterDaten

      +
      public String roboterDaten(int id)
      +
      +
    • +
    • +
      +

      istDieserRoboterDa

      +
      public boolean istDieserRoboterDa(int id)
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/Roboterfabrik/doc/facade/class-use/Factorysystem.html b/Roboterfabrik/doc/facade/class-use/Factorysystem.html new file mode 100644 index 0000000..ede32f5 --- /dev/null +++ b/Roboterfabrik/doc/facade/class-use/Factorysystem.html @@ -0,0 +1,83 @@ + + + + +Uses of Class facade.Factorysystem + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
facade.Factorysystem

+
+
Packages that use Factorysystem
+
+
Package
+
Description
+ +
 
+
+
+ +
+
+
+
+ + diff --git a/Roboterfabrik/doc/facade/package-summary.html b/Roboterfabrik/doc/facade/package-summary.html new file mode 100644 index 0000000..0b0b879 --- /dev/null +++ b/Roboterfabrik/doc/facade/package-summary.html @@ -0,0 +1,85 @@ + + + + +facade + + + + + + + + + + + + + + + +
+ +
+
+
+

Package facade

+
+
+
package facade
+
+
    +
  • +
    +
    Classes
    +
    +
    Class
    +
    Description
    + +
    +
    Factorysystem agiert als Fassade für RobotFactory
    +
    +
    +
    +
  • +
+
+
+
+
+ + diff --git a/Roboterfabrik/doc/facade/package-tree.html b/Roboterfabrik/doc/facade/package-tree.html new file mode 100644 index 0000000..7bfdf7a --- /dev/null +++ b/Roboterfabrik/doc/facade/package-tree.html @@ -0,0 +1,72 @@ + + + + +facade Class Hierarchy + + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package facade

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+
+
+ + diff --git a/Roboterfabrik/doc/facade/package-use.html b/Roboterfabrik/doc/facade/package-use.html new file mode 100644 index 0000000..7ffe9fc --- /dev/null +++ b/Roboterfabrik/doc/facade/package-use.html @@ -0,0 +1,82 @@ + + + + +Uses of Package facade + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
facade

+
+
Packages that use facade
+
+
Package
+
Description
+ +
 
+
+
+
    +
  • +
    +
    Classes in facade used by ui
    +
    +
    Class
    +
    Description
    + +
    +
    Factorysystem agiert als Fassade für RobotFactory
    +
    +
    +
    +
  • +
+
+
+
+
+ + diff --git a/Roboterfabrik/doc/help-doc.html b/Roboterfabrik/doc/help-doc.html new file mode 100644 index 0000000..30b99d7 --- /dev/null +++ b/Roboterfabrik/doc/help-doc.html @@ -0,0 +1,187 @@ + + + + +API Help + + + + + + + + + + + + + + + +
+ +
+
+

JavaDoc Help

+ +
+
+

Navigation

+Starting from the Overview page, you can browse the documentation using the links in each page, and in the navigation bar at the top of each page. The Index and Search box allow you to navigate to specific declarations and summary pages, including: All Packages, All Classes and Interfaces + +
+
+
+

Kinds of Pages

+The following sections describe the different kinds of pages in this collection. +
+

Overview

+

The Overview page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.

+
+
+

Package

+

Each package has a page that contains a list of its classes and interfaces, with a summary for each. These pages may contain the following categories:

+
    +
  • Interfaces
  • +
  • Classes
  • +
  • Enum Classes
  • +
  • Exceptions
  • +
  • Errors
  • +
  • Annotation Interfaces
  • +
+
+
+

Class or Interface

+

Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a declaration and description, member summary tables, and detailed member descriptions. Entries in each of these sections are omitted if they are empty or not applicable.

+
    +
  • Class Inheritance Diagram
  • +
  • Direct Subclasses
  • +
  • All Known Subinterfaces
  • +
  • All Known Implementing Classes
  • +
  • Class or Interface Declaration
  • +
  • Class or Interface Description
  • +
+
+
    +
  • Nested Class Summary
  • +
  • Enum Constant Summary
  • +
  • Field Summary
  • +
  • Property Summary
  • +
  • Constructor Summary
  • +
  • Method Summary
  • +
  • Required Element Summary
  • +
  • Optional Element Summary
  • +
+
+
    +
  • Enum Constant Details
  • +
  • Field Details
  • +
  • Property Details
  • +
  • Constructor Details
  • +
  • Method Details
  • +
  • Element Details
  • +
+

Note: Annotation interfaces have required and optional elements, but not methods. Only enum classes have enum constants. The components of a record class are displayed as part of the declaration of the record class. Properties are a feature of JavaFX.

+

The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.

+
+
+

Other Files

+

Packages and modules may contain pages with additional information related to the declarations nearby.

+
+
+

Use

+

Each documented package, class and interface has its own Use page. This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its Use page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A. You can access this page by first going to the package, class or interface, then clicking on the USE link in the navigation bar.

+
+
+

Tree (Class Hierarchy)

+

There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. Classes are organized by inheritance structure starting with java.lang.Object. Interfaces do not inherit from java.lang.Object.

+
    +
  • When viewing the Overview page, clicking on TREE displays the hierarchy for all packages.
  • +
  • When viewing a particular package, class or interface page, clicking on TREE displays the hierarchy for only that package.
  • +
+
+
+

Serialized Form

+

Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to those who implement rather than use the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See Also" section of the class description.

+
+
+

All Packages

+

The All Packages page contains an alphabetic index of all packages contained in the documentation.

+
+
+

All Classes and Interfaces

+

The All Classes and Interfaces page contains an alphabetic index of all classes and interfaces contained in the documentation, including annotation interfaces, enum classes, and record classes.

+
+
+

Index

+

The Index contains an alphabetic index of all classes, interfaces, constructors, methods, and fields in the documentation, as well as summary pages such as All Packages, All Classes and Interfaces.

+
+
+
+This help file applies to API documentation generated by the standard doclet.
+
+
+ + diff --git a/Roboterfabrik/doc/index-files/index-1.html b/Roboterfabrik/doc/index-files/index-1.html new file mode 100644 index 0000000..6719018 --- /dev/null +++ b/Roboterfabrik/doc/index-files/index-1.html @@ -0,0 +1,72 @@ + + + + +A-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D F G I L M N R S T U V Z 
All Classes and Interfaces|All Packages|Serialized Form +

A

+
+
addRobot(RobotType, String) - Method in class Domäne.RobotFactory
+
+
Erstellt neue Roboter nach Anforderungen, speichert diese im Roboterlager und + gibt die Id des erstellten Roboters zurück
+
+
aufrufSpeakAndThink(int, int[]) - Method in class Domäne.RobotFactory
+
+
Ruft die Methoden think() und speak() eines Roboters auf und gibt dessen + Ausgabe wieder.
+
+
+A C D F G I L M N R S T U V Z 
All Classes and Interfaces|All Packages|Serialized Form
+
+
+ + diff --git a/Roboterfabrik/doc/index-files/index-10.html b/Roboterfabrik/doc/index-files/index-10.html new file mode 100644 index 0000000..a44eb49 --- /dev/null +++ b/Roboterfabrik/doc/index-files/index-10.html @@ -0,0 +1,114 @@ + + + + +R-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D F G I L M N R S T U V Z 
All Classes and Interfaces|All Packages|Serialized Form +

R

+
+
R2D2 - Class in Domäne
+
 
+
R2D2 - Enum constant in enum class Domäne.RobotType
+
 
+
R2D2(String, int) - Constructor for class Domäne.R2D2
+
 
+
Robot - Interface in tpe.exceptions.roboter
+
+
Interface für Roboter.
+
+
RobotControl - Interface in tpe.exceptions.roboter
+
+
Das Interface repräsentiert einen einfachen Roboter mit seinen Funktionen.
+
+
Roboter - Class in Domäne
+
 
+
roboterAnlegen(String, int) - Method in class facade.Factorysystem
+
+
Legt einen neuen Roboter je nach Auswahl mit dem gegebenen Namen an
+
+
roboterDaten(int) - Method in class facade.Factorysystem
+
 
+
roboterZustand(int) - Method in class Domäne.RobotFactory
+
+
Prüft ob ein Roboter ein- oder ausgeschaltet ist
+
+
RobotException - Exception in tpe.exceptions.roboter.exceptions
+
 
+
RobotException(String) - Constructor for exception tpe.exceptions.roboter.exceptions.RobotException
+
 
+
RobotFactory - Class in Domäne
+
+
Factory-Klasse für R2D2 und C3PO
+
+
RobotFactory(String) - Constructor for class Domäne.RobotFactory
+
+
Benennt die RobotFactory und setzt Nexus-Roboter "Pris" ins Roboterlager
+
+
RobotIllegalStateException - Exception in tpe.exceptions.roboter.exceptions
+
 
+
RobotIllegalStateException(String, String) - Constructor for exception tpe.exceptions.roboter.exceptions.RobotIllegalStateException
+
 
+
RobotInstructions - Interface in tpe.exceptions.roboter
+
+
Das Interface repräsentiert den Befehlssatz eines einfachen Roboters.
+
+
RobotMagicValueException - Exception in tpe.exceptions.roboter.exceptions
+
 
+
RobotMagicValueException(String, String) - Constructor for exception tpe.exceptions.roboter.exceptions.RobotMagicValueException
+
 
+
RobotType - Enum Class in Domäne
+
 
+
+A C D F G I L M N R S T U V Z 
All Classes and Interfaces|All Packages|Serialized Form
+
+
+ + diff --git a/Roboterfabrik/doc/index-files/index-11.html b/Roboterfabrik/doc/index-files/index-11.html new file mode 100644 index 0000000..4d0dfe9 --- /dev/null +++ b/Roboterfabrik/doc/index-files/index-11.html @@ -0,0 +1,79 @@ + + + + +S-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D F G I L M N R S T U V Z 
All Classes and Interfaces|All Packages|Serialized Form +

S

+
+
schalterAnAus(int) - Method in class Domäne.RobotFactory
+
+
Schaltet einen Roboter ein wenn er ausgeschaltet ist und schaltet ihn aus + wenn er eingeschaltet ist
+
+
schalterBetätigen(int) - Method in class facade.Factorysystem
+
 
+
speak(int[]) - Method in class Domäne.Nexus6
+
 
+
speak(int[]) - Method in class Domäne.Roboter
+
 
+
speak(int[]) - Method in interface tpe.exceptions.roboter.RobotInstructions
+
+
Gibt ein Array von Zahlen als String zurück.
+
+
sprechenAufruf(int, int[]) - Method in class facade.Factorysystem
+
 
+
+A C D F G I L M N R S T U V Z 
All Classes and Interfaces|All Packages|Serialized Form
+
+
+ + diff --git a/Roboterfabrik/doc/index-files/index-12.html b/Roboterfabrik/doc/index-files/index-12.html new file mode 100644 index 0000000..e0e3b38 --- /dev/null +++ b/Roboterfabrik/doc/index-files/index-12.html @@ -0,0 +1,86 @@ + + + + +T-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D F G I L M N R S T U V Z 
All Classes and Interfaces|All Packages|Serialized Form +

T

+
+
think(int[]) - Method in class Domäne.C3PO
+
 
+
think(int[]) - Method in class Domäne.Nexus6
+
 
+
think(int[]) - Method in class Domäne.R2D2
+
 
+
think(int[]) - Method in class Domäne.Roboter
+
 
+
think(int[]) - Method in interface tpe.exceptions.roboter.RobotInstructions
+
+
Sortiert ein Array von Zahlen.
+
+
tpe.exceptions.roboter - package tpe.exceptions.roboter
+
 
+
tpe.exceptions.roboter.exceptions - package tpe.exceptions.roboter.exceptions
+
 
+
triggerPowerSwitch() - Method in class Domäne.Nexus6
+
 
+
triggerPowerSwitch() - Method in class Domäne.Roboter
+
 
+
triggerPowerSwitch() - Method in interface tpe.exceptions.roboter.RobotControl
+
+
Betätigen den An-/Ausschaltknopf.
+
+
+A C D F G I L M N R S T U V Z 
All Classes and Interfaces|All Packages|Serialized Form
+
+
+ + diff --git a/Roboterfabrik/doc/index-files/index-13.html b/Roboterfabrik/doc/index-files/index-13.html new file mode 100644 index 0000000..7a038ed --- /dev/null +++ b/Roboterfabrik/doc/index-files/index-13.html @@ -0,0 +1,64 @@ + + + + +U-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D F G I L M N R S T U V Z 
All Classes and Interfaces|All Packages|Serialized Form +

U

+
+
ui - package ui
+
 
+
+A C D F G I L M N R S T U V Z 
All Classes and Interfaces|All Packages|Serialized Form
+
+
+ + diff --git a/Roboterfabrik/doc/index-files/index-14.html b/Roboterfabrik/doc/index-files/index-14.html new file mode 100644 index 0000000..8259b01 --- /dev/null +++ b/Roboterfabrik/doc/index-files/index-14.html @@ -0,0 +1,71 @@ + + + + +V-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D F G I L M N R S T U V Z 
All Classes and Interfaces|All Packages|Serialized Form +

V

+
+
valueOf(String) - Static method in enum class Domäne.RobotType
+
+
Returns the enum constant of this class with the specified name.
+
+
values() - Static method in enum class Domäne.RobotType
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
+A C D F G I L M N R S T U V Z 
All Classes and Interfaces|All Packages|Serialized Form
+
+
+ + diff --git a/Roboterfabrik/doc/index-files/index-15.html b/Roboterfabrik/doc/index-files/index-15.html new file mode 100644 index 0000000..99d0e9f --- /dev/null +++ b/Roboterfabrik/doc/index-files/index-15.html @@ -0,0 +1,66 @@ + + + + +Z-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D F G I L M N R S T U V Z 
All Classes and Interfaces|All Packages|Serialized Form +

Z

+
+
zustandRoboter(int) - Method in class facade.Factorysystem
+
+
Ruft die Methode roboterZustand(id) in der RobotFactory auf
+
+
+A C D F G I L M N R S T U V Z 
All Classes and Interfaces|All Packages|Serialized Form
+
+
+ + diff --git a/Roboterfabrik/doc/index-files/index-2.html b/Roboterfabrik/doc/index-files/index-2.html new file mode 100644 index 0000000..01c5626 --- /dev/null +++ b/Roboterfabrik/doc/index-files/index-2.html @@ -0,0 +1,68 @@ + + + + +C-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D F G I L M N R S T U V Z 
All Classes and Interfaces|All Packages|Serialized Form +

C

+
+
C3PO - Class in Domäne
+
 
+
C3PO - Enum constant in enum class Domäne.RobotType
+
 
+
C3PO(String, int) - Constructor for class Domäne.C3PO
+
 
+
+A C D F G I L M N R S T U V Z 
All Classes and Interfaces|All Packages|Serialized Form
+
+
+ + diff --git a/Roboterfabrik/doc/index-files/index-3.html b/Roboterfabrik/doc/index-files/index-3.html new file mode 100644 index 0000000..168cb50 --- /dev/null +++ b/Roboterfabrik/doc/index-files/index-3.html @@ -0,0 +1,68 @@ + + + + +D-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D F G I L M N R S T U V Z 
All Classes and Interfaces|All Packages|Serialized Form +

D

+
+
datenDesRoboters(int) - Method in class Domäne.RobotFactory
+
+
Gibt die Daten eines Roboters wieder
+
+
Domäne - package Domäne
+
 
+
+A C D F G I L M N R S T U V Z 
All Classes and Interfaces|All Packages|Serialized Form
+
+
+ + diff --git a/Roboterfabrik/doc/index-files/index-4.html b/Roboterfabrik/doc/index-files/index-4.html new file mode 100644 index 0000000..80ad579 --- /dev/null +++ b/Roboterfabrik/doc/index-files/index-4.html @@ -0,0 +1,82 @@ + + + + +F-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D F G I L M N R S T U V Z 
All Classes and Interfaces|All Packages|Serialized Form +

F

+
+
facade - package facade
+
 
+
Factory - Class in ui
+
 
+
Factory(Factorysystem) - Constructor for class ui.Factory
+
 
+
Factorysystem - Class in facade
+
+
Factorysystem agiert als Fassade für RobotFactory
+
+
Factorysystem(String) - Constructor for class facade.Factorysystem
+
+
Erstellt eine neue RobotFactory mit dem gegebenen Namen
+
+
fehlerAuslesen(int) - Method in class facade.Factorysystem
+
 
+
findeRoboter(int) - Method in class Domäne.RobotFactory
+
+
Duchsucht das Roboterlager nach einem bestimmten Roboter
+
+
+A C D F G I L M N R S T U V Z 
All Classes and Interfaces|All Packages|Serialized Form
+
+
+ + diff --git a/Roboterfabrik/doc/index-files/index-5.html b/Roboterfabrik/doc/index-files/index-5.html new file mode 100644 index 0000000..88a5a1d --- /dev/null +++ b/Roboterfabrik/doc/index-files/index-5.html @@ -0,0 +1,108 @@ + + + + +G-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D F G I L M N R S T U V Z 
All Classes and Interfaces|All Packages|Serialized Form +

G

+
+
getId() - Method in class Domäne.C3PO
+
 
+
getId() - Method in class Domäne.Nexus6
+
 
+
getId() - Method in class Domäne.R2D2
+
 
+
getId() - Method in class Domäne.Roboter
+
 
+
getId() - Method in interface tpe.exceptions.roboter.RobotControl
+
+
Gibt die ID (Seriennummer) des Roboters zurück.
+
+
getInstance() - Static method in class Domäne.Nexus6
+
 
+
getLastException() - Method in class Domäne.Roboter
+
 
+
getLastException() - Method in interface tpe.exceptions.roboter.RobotControl
+
+
Ruft die zuletzt aufgetretene Ausnahme aus der Blackbox ab.
+
+
getName() - Method in class Domäne.Roboter
+
 
+
getName() - Method in class Domäne.RobotFactory
+
+
Gibt den Namen der RobotFactory zurück.
+
+
getName() - Method in interface tpe.exceptions.roboter.RobotControl
+
+
Gibt den Namen des Roboter-Exemplars zurück.
+
+
getRoboterLagerSize() - Method in class Domäne.RobotFactory
+
+
Gibt die Größe des Roboterlagers an.
+
+
getRobotName() - Method in exception tpe.exceptions.roboter.exceptions.RobotIllegalStateException
+
 
+
getRobotName() - Method in exception tpe.exceptions.roboter.exceptions.RobotMagicValueException
+
 
+
getRobotType() - Method in class Domäne.C3PO
+
 
+
getRobotType() - Method in class Domäne.Nexus6
+
 
+
getRobotType() - Method in class Domäne.R2D2
+
 
+
getRobotType() - Method in class Domäne.Roboter
+
 
+
+A C D F G I L M N R S T U V Z 
All Classes and Interfaces|All Packages|Serialized Form
+
+
+ + diff --git a/Roboterfabrik/doc/index-files/index-6.html b/Roboterfabrik/doc/index-files/index-6.html new file mode 100644 index 0000000..9adb29e --- /dev/null +++ b/Roboterfabrik/doc/index-files/index-6.html @@ -0,0 +1,74 @@ + + + + +I-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D F G I L M N R S T U V Z 
All Classes and Interfaces|All Packages|Serialized Form +

I

+
+
isPowerOn() - Method in class Domäne.Roboter
+
 
+
isPowerOn() - Method in interface tpe.exceptions.roboter.RobotControl
+
+
Prüft ob der Roboter eingeschaltet ist.
+
+
istDieserRoboterDa(int) - Method in class Domäne.RobotFactory
+
+
Überprüft ob das Lager einen bestimmten Roboter enthält.
+
+
istDieserRoboterDa(int) - Method in class facade.Factorysystem
+
 
+
+A C D F G I L M N R S T U V Z 
All Classes and Interfaces|All Packages|Serialized Form
+
+
+ + diff --git a/Roboterfabrik/doc/index-files/index-7.html b/Roboterfabrik/doc/index-files/index-7.html new file mode 100644 index 0000000..45ec8d6 --- /dev/null +++ b/Roboterfabrik/doc/index-files/index-7.html @@ -0,0 +1,66 @@ + + + + +L-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D F G I L M N R S T U V Z 
All Classes and Interfaces|All Packages|Serialized Form +

L

+
+
letzterFehler(int) - Method in class Domäne.RobotFactory
+
+
Gibt den letzten Fehler zurück, auf den der Roboter gestoßen ist
+
+
+A C D F G I L M N R S T U V Z 
All Classes and Interfaces|All Packages|Serialized Form
+
+
+ + diff --git a/Roboterfabrik/doc/index-files/index-8.html b/Roboterfabrik/doc/index-files/index-8.html new file mode 100644 index 0000000..56fadb6 --- /dev/null +++ b/Roboterfabrik/doc/index-files/index-8.html @@ -0,0 +1,70 @@ + + + + +M-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D F G I L M N R S T U V Z 
All Classes and Interfaces|All Packages|Serialized Form +

M

+
+
main - package main
+
 
+
main(String[]) - Static method in class main.Main
+
 
+
Main - Class in main
+
 
+
Main() - Constructor for class main.Main
+
 
+
+A C D F G I L M N R S T U V Z 
All Classes and Interfaces|All Packages|Serialized Form
+
+
+ + diff --git a/Roboterfabrik/doc/index-files/index-9.html b/Roboterfabrik/doc/index-files/index-9.html new file mode 100644 index 0000000..d156070 --- /dev/null +++ b/Roboterfabrik/doc/index-files/index-9.html @@ -0,0 +1,66 @@ + + + + +N-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D F G I L M N R S T U V Z 
All Classes and Interfaces|All Packages|Serialized Form +

N

+
+
Nexus6 - Class in Domäne
+
 
+
NEXUS6 - Enum constant in enum class Domäne.RobotType
+
 
+
+A C D F G I L M N R S T U V Z 
All Classes and Interfaces|All Packages|Serialized Form
+
+
+ + diff --git a/Roboterfabrik/doc/index.html b/Roboterfabrik/doc/index.html new file mode 100644 index 0000000..4fc2d00 --- /dev/null +++ b/Roboterfabrik/doc/index.html @@ -0,0 +1,74 @@ + + + + +Overview + + + + + + + + + + + + + + + +
+ +
+
+
+
Packages
+
+
Package
+
Description
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+
+
+
+
+
+ + diff --git a/Roboterfabrik/doc/jquery-ui.overrides.css b/Roboterfabrik/doc/jquery-ui.overrides.css new file mode 100644 index 0000000..f89acb6 --- /dev/null +++ b/Roboterfabrik/doc/jquery-ui.overrides.css @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +.ui-state-active, +.ui-widget-content .ui-state-active, +.ui-widget-header .ui-state-active, +a.ui-button:active, +.ui-button:active, +.ui-button.ui-state-active:hover { + /* Overrides the color of selection used in jQuery UI */ + background: #F8981D; +} diff --git a/Roboterfabrik/doc/legal/ADDITIONAL_LICENSE_INFO b/Roboterfabrik/doc/legal/ADDITIONAL_LICENSE_INFO new file mode 100644 index 0000000..b62cc3e --- /dev/null +++ b/Roboterfabrik/doc/legal/ADDITIONAL_LICENSE_INFO @@ -0,0 +1 @@ +Please see ..\java.base\ADDITIONAL_LICENSE_INFO diff --git a/Roboterfabrik/doc/legal/ASSEMBLY_EXCEPTION b/Roboterfabrik/doc/legal/ASSEMBLY_EXCEPTION new file mode 100644 index 0000000..0d4cfb4 --- /dev/null +++ b/Roboterfabrik/doc/legal/ASSEMBLY_EXCEPTION @@ -0,0 +1 @@ +Please see ..\java.base\ASSEMBLY_EXCEPTION diff --git a/Roboterfabrik/doc/legal/LICENSE b/Roboterfabrik/doc/legal/LICENSE new file mode 100644 index 0000000..4ad9fe4 --- /dev/null +++ b/Roboterfabrik/doc/legal/LICENSE @@ -0,0 +1 @@ +Please see ..\java.base\LICENSE diff --git a/Roboterfabrik/doc/legal/jquery.md b/Roboterfabrik/doc/legal/jquery.md new file mode 100644 index 0000000..8054a34 --- /dev/null +++ b/Roboterfabrik/doc/legal/jquery.md @@ -0,0 +1,72 @@ +## jQuery v3.5.1 + +### jQuery License +``` +jQuery v 3.5.1 +Copyright JS Foundation and other contributors, https://js.foundation/ + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +****************************************** + +The jQuery JavaScript Library v3.5.1 also includes Sizzle.js + +Sizzle.js includes the following license: + +Copyright JS Foundation and other contributors, https://js.foundation/ + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/jquery/sizzle + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +All files located in the node_modules and external directories are +externally maintained libraries used by this software which have their +own licenses; we recommend you read them, as their terms may differ from +the terms above. + +********************* + +``` diff --git a/Roboterfabrik/doc/legal/jqueryUI.md b/Roboterfabrik/doc/legal/jqueryUI.md new file mode 100644 index 0000000..8031bdb --- /dev/null +++ b/Roboterfabrik/doc/legal/jqueryUI.md @@ -0,0 +1,49 @@ +## jQuery UI v1.12.1 + +### jQuery UI License +``` +Copyright jQuery Foundation and other contributors, https://jquery.org/ + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/jquery/jquery-ui + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code contained within the demos directory. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +All files located in the node_modules and external directories are +externally maintained libraries used by this software which have their +own licenses; we recommend you read them, as their terms may differ from +the terms above. + +``` diff --git a/Roboterfabrik/doc/main/Main.html b/Roboterfabrik/doc/main/Main.html new file mode 100644 index 0000000..c798e05 --- /dev/null +++ b/Roboterfabrik/doc/main/Main.html @@ -0,0 +1,164 @@ + + + + +Main + + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package main
+

Class Main

+
+
java.lang.Object +
main.Main
+
+
+
+
public class Main +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Main

      +
      public Main()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    + +
    +
  • +
+
+ +
+
+
+ + diff --git a/Roboterfabrik/doc/main/class-use/Main.html b/Roboterfabrik/doc/main/class-use/Main.html new file mode 100644 index 0000000..64505ce --- /dev/null +++ b/Roboterfabrik/doc/main/class-use/Main.html @@ -0,0 +1,58 @@ + + + + +Uses of Class main.Main + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
main.Main

+
+No usage of main.Main
+
+
+ + diff --git a/Roboterfabrik/doc/main/package-summary.html b/Roboterfabrik/doc/main/package-summary.html new file mode 100644 index 0000000..43c11ff --- /dev/null +++ b/Roboterfabrik/doc/main/package-summary.html @@ -0,0 +1,83 @@ + + + + +main + + + + + + + + + + + + + + + +
+ +
+
+
+

Package main

+
+
+
package main
+
+
    +
  • +
    +
    Classes
    +
    +
    Class
    +
    Description
    + +
     
    +
    +
    +
  • +
+
+
+
+
+ + diff --git a/Roboterfabrik/doc/main/package-tree.html b/Roboterfabrik/doc/main/package-tree.html new file mode 100644 index 0000000..5971860 --- /dev/null +++ b/Roboterfabrik/doc/main/package-tree.html @@ -0,0 +1,72 @@ + + + + +main Class Hierarchy + + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package main

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+
+
+ + diff --git a/Roboterfabrik/doc/main/package-use.html b/Roboterfabrik/doc/main/package-use.html new file mode 100644 index 0000000..1134ec9 --- /dev/null +++ b/Roboterfabrik/doc/main/package-use.html @@ -0,0 +1,58 @@ + + + + +Uses of Package main + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
main

+
+No usage of main
+
+
+ + diff --git a/Roboterfabrik/doc/member-search-index.js b/Roboterfabrik/doc/member-search-index.js new file mode 100644 index 0000000..47fa633 --- /dev/null +++ b/Roboterfabrik/doc/member-search-index.js @@ -0,0 +1 @@ +memberSearchIndex = [{"p":"Domäne","c":"RobotFactory","l":"addRobot(RobotType, String)","u":"addRobot(Dom%C3%A4ne.RobotType,java.lang.String)"},{"p":"Domäne","c":"RobotFactory","l":"aufrufSpeakAndThink(int, int[])","u":"aufrufSpeakAndThink(int,int[])"},{"p":"Domäne","c":"RobotType","l":"C3PO"},{"p":"Domäne","c":"C3PO","l":"C3PO(String, int)","u":"%3Cinit%3E(java.lang.String,int)"},{"p":"Domäne","c":"RobotFactory","l":"datenDesRoboters(int)"},{"p":"ui","c":"Factory","l":"Factory(Factorysystem)","u":"%3Cinit%3E(facade.Factorysystem)"},{"p":"facade","c":"Factorysystem","l":"Factorysystem(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"facade","c":"Factorysystem","l":"fehlerAuslesen(int)"},{"p":"Domäne","c":"RobotFactory","l":"findeRoboter(int)"},{"p":"Domäne","c":"C3PO","l":"getId()"},{"p":"Domäne","c":"Nexus6","l":"getId()"},{"p":"Domäne","c":"R2D2","l":"getId()"},{"p":"Domäne","c":"Roboter","l":"getId()"},{"p":"tpe.exceptions.roboter","c":"RobotControl","l":"getId()"},{"p":"Domäne","c":"Nexus6","l":"getInstance()"},{"p":"Domäne","c":"Roboter","l":"getLastException()"},{"p":"tpe.exceptions.roboter","c":"RobotControl","l":"getLastException()"},{"p":"Domäne","c":"Roboter","l":"getName()"},{"p":"Domäne","c":"RobotFactory","l":"getName()"},{"p":"tpe.exceptions.roboter","c":"RobotControl","l":"getName()"},{"p":"Domäne","c":"RobotFactory","l":"getRoboterLagerSize()"},{"p":"tpe.exceptions.roboter.exceptions","c":"RobotIllegalStateException","l":"getRobotName()"},{"p":"tpe.exceptions.roboter.exceptions","c":"RobotMagicValueException","l":"getRobotName()"},{"p":"Domäne","c":"C3PO","l":"getRobotType()"},{"p":"Domäne","c":"Nexus6","l":"getRobotType()"},{"p":"Domäne","c":"R2D2","l":"getRobotType()"},{"p":"Domäne","c":"Roboter","l":"getRobotType()"},{"p":"Domäne","c":"Roboter","l":"isPowerOn()"},{"p":"tpe.exceptions.roboter","c":"RobotControl","l":"isPowerOn()"},{"p":"Domäne","c":"RobotFactory","l":"istDieserRoboterDa(int)"},{"p":"facade","c":"Factorysystem","l":"istDieserRoboterDa(int)"},{"p":"Domäne","c":"RobotFactory","l":"letzterFehler(int)"},{"p":"main","c":"Main","l":"Main()","u":"%3Cinit%3E()"},{"p":"main","c":"Main","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"Domäne","c":"RobotType","l":"NEXUS6"},{"p":"Domäne","c":"RobotType","l":"R2D2"},{"p":"Domäne","c":"R2D2","l":"R2D2(String, int)","u":"%3Cinit%3E(java.lang.String,int)"},{"p":"facade","c":"Factorysystem","l":"roboterAnlegen(String, int)","u":"roboterAnlegen(java.lang.String,int)"},{"p":"facade","c":"Factorysystem","l":"roboterDaten(int)"},{"p":"Domäne","c":"RobotFactory","l":"roboterZustand(int)"},{"p":"tpe.exceptions.roboter.exceptions","c":"RobotException","l":"RobotException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"Domäne","c":"RobotFactory","l":"RobotFactory(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"tpe.exceptions.roboter.exceptions","c":"RobotIllegalStateException","l":"RobotIllegalStateException(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"tpe.exceptions.roboter.exceptions","c":"RobotMagicValueException","l":"RobotMagicValueException(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"Domäne","c":"RobotFactory","l":"schalterAnAus(int)"},{"p":"facade","c":"Factorysystem","l":"schalterBetätigen(int)","u":"schalterBet%C3%A4tigen(int)"},{"p":"Domäne","c":"Nexus6","l":"speak(int[])"},{"p":"Domäne","c":"Roboter","l":"speak(int[])"},{"p":"tpe.exceptions.roboter","c":"RobotInstructions","l":"speak(int[])"},{"p":"facade","c":"Factorysystem","l":"sprechenAufruf(int, int[])","u":"sprechenAufruf(int,int[])"},{"p":"Domäne","c":"C3PO","l":"think(int[])"},{"p":"Domäne","c":"Nexus6","l":"think(int[])"},{"p":"Domäne","c":"R2D2","l":"think(int[])"},{"p":"Domäne","c":"Roboter","l":"think(int[])"},{"p":"tpe.exceptions.roboter","c":"RobotInstructions","l":"think(int[])"},{"p":"Domäne","c":"Nexus6","l":"triggerPowerSwitch()"},{"p":"Domäne","c":"Roboter","l":"triggerPowerSwitch()"},{"p":"tpe.exceptions.roboter","c":"RobotControl","l":"triggerPowerSwitch()"},{"p":"Domäne","c":"RobotType","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"Domäne","c":"RobotType","l":"values()"},{"p":"facade","c":"Factorysystem","l":"zustandRoboter(int)"}];updateSearchResults(); \ No newline at end of file diff --git a/Roboterfabrik/doc/module-search-index.js b/Roboterfabrik/doc/module-search-index.js new file mode 100644 index 0000000..0d59754 --- /dev/null +++ b/Roboterfabrik/doc/module-search-index.js @@ -0,0 +1 @@ +moduleSearchIndex = [];updateSearchResults(); \ No newline at end of file diff --git a/Roboterfabrik/doc/overview-summary.html b/Roboterfabrik/doc/overview-summary.html new file mode 100644 index 0000000..fc7781e --- /dev/null +++ b/Roboterfabrik/doc/overview-summary.html @@ -0,0 +1,26 @@ + + + + +Generated Documentation (Untitled) + + + + + + + + + + + +
+ +

index.html

+
+ + diff --git a/Roboterfabrik/doc/overview-tree.html b/Roboterfabrik/doc/overview-tree.html new file mode 100644 index 0000000..340865a --- /dev/null +++ b/Roboterfabrik/doc/overview-tree.html @@ -0,0 +1,130 @@ + + + + +Class Hierarchy + + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For All Packages

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+
+
+ + diff --git a/Roboterfabrik/doc/package-search-index.js b/Roboterfabrik/doc/package-search-index.js new file mode 100644 index 0000000..bf6ef24 --- /dev/null +++ b/Roboterfabrik/doc/package-search-index.js @@ -0,0 +1 @@ +packageSearchIndex = [{"l":"All Packages","u":"allpackages-index.html"},{"l":"Domäne"},{"l":"facade"},{"l":"main"},{"l":"tpe.exceptions.roboter"},{"l":"tpe.exceptions.roboter.exceptions"},{"l":"ui"}];updateSearchResults(); \ No newline at end of file diff --git a/Roboterfabrik/doc/resources/glass.png b/Roboterfabrik/doc/resources/glass.png new file mode 100644 index 0000000..a7f591f Binary files /dev/null and b/Roboterfabrik/doc/resources/glass.png differ diff --git a/Roboterfabrik/doc/resources/x.png b/Roboterfabrik/doc/resources/x.png new file mode 100644 index 0000000..30548a7 Binary files /dev/null and b/Roboterfabrik/doc/resources/x.png differ diff --git a/Roboterfabrik/doc/script-dir/images/ui-bg_glass_55_fbf9ee_1x400.png b/Roboterfabrik/doc/script-dir/images/ui-bg_glass_55_fbf9ee_1x400.png new file mode 100644 index 0000000..34abd18 Binary files /dev/null and b/Roboterfabrik/doc/script-dir/images/ui-bg_glass_55_fbf9ee_1x400.png differ diff --git a/Roboterfabrik/doc/script-dir/images/ui-bg_glass_65_dadada_1x400.png b/Roboterfabrik/doc/script-dir/images/ui-bg_glass_65_dadada_1x400.png new file mode 100644 index 0000000..f058a93 Binary files /dev/null and b/Roboterfabrik/doc/script-dir/images/ui-bg_glass_65_dadada_1x400.png differ diff --git a/Roboterfabrik/doc/script-dir/images/ui-bg_glass_75_dadada_1x400.png b/Roboterfabrik/doc/script-dir/images/ui-bg_glass_75_dadada_1x400.png new file mode 100644 index 0000000..2ce04c1 Binary files /dev/null and b/Roboterfabrik/doc/script-dir/images/ui-bg_glass_75_dadada_1x400.png differ diff --git a/Roboterfabrik/doc/script-dir/images/ui-bg_glass_75_e6e6e6_1x400.png b/Roboterfabrik/doc/script-dir/images/ui-bg_glass_75_e6e6e6_1x400.png new file mode 100644 index 0000000..a90afb8 Binary files /dev/null and b/Roboterfabrik/doc/script-dir/images/ui-bg_glass_75_e6e6e6_1x400.png differ diff --git a/Roboterfabrik/doc/script-dir/images/ui-bg_glass_95_fef1ec_1x400.png b/Roboterfabrik/doc/script-dir/images/ui-bg_glass_95_fef1ec_1x400.png new file mode 100644 index 0000000..dbe091f Binary files /dev/null and b/Roboterfabrik/doc/script-dir/images/ui-bg_glass_95_fef1ec_1x400.png differ diff --git a/Roboterfabrik/doc/script-dir/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/Roboterfabrik/doc/script-dir/images/ui-bg_highlight-soft_75_cccccc_1x100.png new file mode 100644 index 0000000..5dc3593 Binary files /dev/null and b/Roboterfabrik/doc/script-dir/images/ui-bg_highlight-soft_75_cccccc_1x100.png differ diff --git a/Roboterfabrik/doc/script-dir/images/ui-icons_222222_256x240.png b/Roboterfabrik/doc/script-dir/images/ui-icons_222222_256x240.png new file mode 100644 index 0000000..e723e17 Binary files /dev/null and b/Roboterfabrik/doc/script-dir/images/ui-icons_222222_256x240.png differ diff --git a/Roboterfabrik/doc/script-dir/images/ui-icons_2e83ff_256x240.png b/Roboterfabrik/doc/script-dir/images/ui-icons_2e83ff_256x240.png new file mode 100644 index 0000000..1f5f497 Binary files /dev/null and b/Roboterfabrik/doc/script-dir/images/ui-icons_2e83ff_256x240.png differ diff --git a/Roboterfabrik/doc/script-dir/images/ui-icons_454545_256x240.png b/Roboterfabrik/doc/script-dir/images/ui-icons_454545_256x240.png new file mode 100644 index 0000000..618f5b0 Binary files /dev/null and b/Roboterfabrik/doc/script-dir/images/ui-icons_454545_256x240.png differ diff --git a/Roboterfabrik/doc/script-dir/images/ui-icons_888888_256x240.png b/Roboterfabrik/doc/script-dir/images/ui-icons_888888_256x240.png new file mode 100644 index 0000000..ee5e33f Binary files /dev/null and b/Roboterfabrik/doc/script-dir/images/ui-icons_888888_256x240.png differ diff --git a/Roboterfabrik/doc/script-dir/images/ui-icons_cd0a0a_256x240.png b/Roboterfabrik/doc/script-dir/images/ui-icons_cd0a0a_256x240.png new file mode 100644 index 0000000..7e8ebc1 Binary files /dev/null and b/Roboterfabrik/doc/script-dir/images/ui-icons_cd0a0a_256x240.png differ diff --git a/Roboterfabrik/doc/script-dir/jquery-3.5.1.min.js b/Roboterfabrik/doc/script-dir/jquery-3.5.1.min.js new file mode 100644 index 0000000..b061403 --- /dev/null +++ b/Roboterfabrik/doc/script-dir/jquery-3.5.1.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0a;a++)for(s in o[a])n=o[a][s],o[a].hasOwnProperty(s)&&void 0!==n&&(e[s]=t.isPlainObject(n)?t.isPlainObject(e[s])?t.widget.extend({},e[s],n):t.widget.extend({},n):n);return e},t.widget.bridge=function(e,s){var n=s.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=i.call(arguments,1),l=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(l=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r),i!==s&&void 0!==i?(l=i&&i.jquery?l.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+o+"'")}):l=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new s(o,this))})),l}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
",options:{classes:{},disabled:!1,create:null},_createWidget:function(i,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=e++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),i),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var l=s.match(/^([\w:-]*)\s*(.*)$/),h=l[1]+o.eventNamespace,c=l[2];c?n.on(h,c,r):i.on(h,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,l=/top|center|bottom/,h=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("
"),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.widthi?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};h>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),l.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,l=n-r,h=r+e.collisionWidth-a-n;e.collisionWidth>a?l>0&&0>=h?(i=t.left+l+e.collisionWidth-a-n,t.left+=l-i):t.left=h>0&&0>=l?n:l>h?n+a-e.collisionWidth:n:l>0?t.left+=l:h>0?t.left-=h:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,l=n-r,h=r+e.collisionHeight-a-n;e.collisionHeight>a?l>0&&0>=h?(i=t.top+l+e.collisionHeight-a-n,t.top+=l-i):t.top=h>0&&0>=l?n:l>h?n+a-e.collisionHeight:n:l>0?t.top+=l:h>0?t.top-=h:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,l=n.isWindow?n.scrollLeft:n.offset.left,h=t.left-e.collisionPosition.marginLeft,c=h-l,u=h+e.collisionWidth-r-l,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-l,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,l=n.isWindow?n.scrollTop:n.offset.top,h=t.top-e.collisionPosition.marginTop,c=h-l,u=h+e.collisionHeight-r-l,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,g=-2*e.offset[1];0>c?(s=t.top+p+f+g+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+g)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+g-l,(i>0||u>a(i))&&(t.top+=p+f+g))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.ui.safeActiveElement=function(t){var e;try{e=t.activeElement}catch(i){e=t.body}return e||(e=t.body),e.nodeName||(e=t.body),e},t.widget("ui.menu",{version:"1.12.1",defaultElement:"
    ",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault()},"click .ui-menu-item":function(e){var i=t(e.target),s=t(t.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(e),e.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(e):!this.element.is(":focus")&&s.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(e){if(!this.previousFilter){var i=t(e.target).closest(".ui-menu-item"),s=t(e.currentTarget);i[0]===s[0]&&(this._removeClass(s.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(e,s))}},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this.element.find(this.options.items).eq(0);e||this.focus(t,i)},blur:function(e){this._delay(function(){var i=!t.contains(this.element[0],t.ui.safeActiveElement(this.document[0]));i&&this.collapseAll(e)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t),this.mouseHandled=!1}})},_destroy:function(){var e=this.element.find(".ui-menu-item").removeAttr("role aria-disabled"),i=e.children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),i.children().each(function(){var e=t(this);e.data("ui-menu-submenu-caret")&&e.remove()})},_keydown:function(e){var i,s,n,o,a=!0;switch(e.keyCode){case t.ui.keyCode.PAGE_UP:this.previousPage(e);break;case t.ui.keyCode.PAGE_DOWN:this.nextPage(e);break;case t.ui.keyCode.HOME:this._move("first","first",e);break;case t.ui.keyCode.END:this._move("last","last",e);break;case t.ui.keyCode.UP:this.previous(e);break;case t.ui.keyCode.DOWN:this.next(e);break;case t.ui.keyCode.LEFT:this.collapse(e);break;case t.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(e);break;case t.ui.keyCode.ENTER:case t.ui.keyCode.SPACE:this._activate(e);break;case t.ui.keyCode.ESCAPE:this.collapse(e);break;default:a=!1,s=this.previousFilter||"",o=!1,n=e.keyCode>=96&&105>=e.keyCode?""+(e.keyCode-96):String.fromCharCode(e.keyCode),clearTimeout(this.filterTimer),n===s?o=!0:n=s+n,i=this._filterMenuItems(n),i=o&&-1!==i.index(this.active.next())?this.active.nextAll(".ui-menu-item"):i,i.length||(n=String.fromCharCode(e.keyCode),i=this._filterMenuItems(n)),i.length?(this.focus(e,i),this.previousFilter=n,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}a&&e.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var e,i,s,n,o,a=this,r=this.options.icons.submenu,l=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),s=l.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var e=t(this),i=e.prev(),s=t("").data("ui-menu-submenu-caret",!0);a._addClass(s,"ui-menu-icon","ui-icon "+r),i.attr("aria-haspopup","true").prepend(s),e.attr("aria-labelledby",i.attr("id"))}),this._addClass(s,"ui-menu","ui-widget ui-widget-content ui-front"),e=l.add(this.element),i=e.find(this.options.items),i.not(".ui-menu-item").each(function(){var e=t(this);a._isDivider(e)&&a._addClass(e,"ui-menu-divider","ui-widget-content")}),n=i.not(".ui-menu-item, .ui-menu-divider"),o=n.children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(n,"ui-menu-item")._addClass(o,"ui-menu-item-wrapper"),i.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!t.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){if("icons"===t){var i=this.element.find(".ui-menu-icon");this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)}this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t+""),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i,s,n;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),s=this.active.children(".ui-menu-item-wrapper"),this._addClass(s,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),n=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(n,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),i=e.children(".ui-menu"),i.length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(e){var i,s,n,o,a,r;this._hasScroll()&&(i=parseFloat(t.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(t.css(this.activeMenu[0],"paddingTop"))||0,n=e.offset().top-this.activeMenu.offset().top-i-s,o=this.activeMenu.scrollTop(),a=this.activeMenu.height(),r=e.outerHeight(),0>n?this.activeMenu.scrollTop(o+n):n+r>a&&this.activeMenu.scrollTop(o+n-a+r))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this._removeClass(this.active.children(".ui-menu-item-wrapper"),null,"ui-state-active"),this._trigger("blur",t,{item:this.active}),this.active=null)},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(t)},this.delay))},_open:function(e){var i=t.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(e.parents(".ui-menu")).hide().attr("aria-hidden","true"),e.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:t(e&&e.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(e),this._removeClass(s.find(".ui-state-active"),null,"ui-state-active"),this.activeMenu=s},this.delay)},_close:function(t){t||(t=this.active?this.active.parent():this.element),t.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false")},_closeOnDocumentClick:function(e){return!t(e.target).closest(".ui-menu").length},_isDivider:function(t){return!/[^\-\u2014\u2013\s]/.test(t.text())},collapse:function(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var e=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e)}))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(t,e,i){var s;this.active&&(s="first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[t+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.find(this.options.items)[e]()),this.focus(i,s)},nextPage:function(e){var i,s,n;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return i=t(this),0>i.offset().top-s-n}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items)[this.active?"last":"first"]())),void 0):(this.next(e),void 0)},previousPage:function(e){var i,s,n;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return i=t(this),i.offset().top-s+n>0}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items).first())),void 0):(this.next(e),void 0)},_hasScroll:function(){return this.element.outerHeight()",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var e,i,s,n=this.element[0].nodeName.toLowerCase(),o="textarea"===n,a="input"===n;this.isMultiLine=o||!a&&this._isContentEditable(this.element),this.valueMethod=this.element[o||a?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return e=!0,s=!0,i=!0,void 0;e=!1,s=!1,i=!1;var o=t.ui.keyCode;switch(n.keyCode){case o.PAGE_UP:e=!0,this._move("previousPage",n);break;case o.PAGE_DOWN:e=!0,this._move("nextPage",n);break;case o.UP:e=!0,this._keyEvent("previous",n);break;case o.DOWN:e=!0,this._keyEvent("next",n);break;case o.ENTER:this.menu.active&&(e=!0,n.preventDefault(),this.menu.select(n));break;case o.TAB:this.menu.active&&this.menu.select(n);break;case o.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(e)return e=!1,(!this.isMultiLine||this.menu.element.is(":visible"))&&s.preventDefault(),void 0;if(!i){var n=t.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(t){return s?(s=!1,t.preventDefault(),void 0):(this._searchTimeout(t),void 0)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){return this.cancelBlur?(delete this.cancelBlur,void 0):(clearTimeout(this.searching),this.close(t),this._change(t),void 0)}}),this._initSource(),this.menu=t("
      ").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(e){e.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,this.element[0]!==t.ui.safeActiveElement(this.document[0])&&this.element.trigger("focus")})},menufocus:function(e,i){var s,n;return this.isNewMenu&&(this.isNewMenu=!1,e.originalEvent&&/^mouse/.test(e.originalEvent.type))?(this.menu.blur(),this.document.one("mousemove",function(){t(e.target).trigger(e.originalEvent)}),void 0):(n=i.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",e,{item:n})&&e.originalEvent&&/^key/.test(e.originalEvent.type)&&this._value(n.value),s=i.item.attr("aria-label")||n.value,s&&t.trim(s).length&&(this.liveRegion.children().hide(),t("
      ").text(s).appendTo(this.liveRegion)),void 0)},menuselect:function(e,i){var s=i.item.data("ui-autocomplete-item"),n=this.previous;this.element[0]!==t.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=n,this._delay(function(){this.previous=n,this.selectedItem=s})),!1!==this._trigger("select",e,{item:s})&&this._value(s.value),this.term=this._value(),this.close(e),this.selectedItem=s}}),this.liveRegion=t("
      ",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(e){var i=this.menu.element[0];return e.target===this.element[0]||e.target===i||t.contains(i,e.target)},_closeOnClickOutside:function(t){this._isEventTargetInWidget(t)||this.close()},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e&&e[0]||(e=this.element.closest(".ui-front, dialog")),e.length||(e=this.document[0].body),e},_initSource:function(){var e,i,s=this;t.isArray(this.options.source)?(e=this.options.source,this.source=function(i,s){s(t.ui.autocomplete.filter(e,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(e,n){s.xhr&&s.xhr.abort(),s.xhr=t.ajax({url:i,data:e,dataType:"json",success:function(t){n(t)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(t){clearTimeout(this.searching),this.searching=this._delay(function(){var e=this.term===this._value(),i=this.menu.element.is(":visible"),s=t.altKey||t.ctrlKey||t.metaKey||t.shiftKey;(!e||e&&!i&&!s)&&(this.selectedItem=null,this.search(null,t))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length").append(t("
      ").text(i.label)).appendTo(e)},_move:function(t,e){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this.isMultiLine||this._value(this.term),this.menu.blur(),void 0):(this.menu[t](e),void 0):(this.search(null,e),void 0)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(t,e),e.preventDefault())},_isContentEditable:function(t){if(!t.length)return!1;var e=t.prop("contentEditable");return"inherit"===e?this._isContentEditable(t.parent()):"true"===e}}),t.extend(t.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(e,i){var s=RegExp(t.ui.autocomplete.escapeRegex(i),"i");return t.grep(e,function(t){return s.test(t.label||t.value||t)})}}),t.widget("ui.autocomplete",t.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(t>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(e){var i;this._superApply(arguments),this.options.disabled||this.cancelSearch||(i=e&&e.length?this.options.messages.results(e.length):this.options.messages.noResults,this.liveRegion.children().hide(),t("
      ").text(i).appendTo(this.liveRegion))}}),t.ui.autocomplete}); \ No newline at end of file diff --git a/Roboterfabrik/doc/script-dir/jquery-ui.structure.min.css b/Roboterfabrik/doc/script-dir/jquery-ui.structure.min.css new file mode 100644 index 0000000..e880892 --- /dev/null +++ b/Roboterfabrik/doc/script-dir/jquery-ui.structure.min.css @@ -0,0 +1,5 @@ +/*! jQuery UI - v1.12.1 - 2018-12-06 +* http://jqueryui.com +* Copyright jQuery Foundation and other contributors; Licensed MIT */ + +.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{margin:0;cursor:pointer;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0} \ No newline at end of file diff --git a/Roboterfabrik/doc/script.js b/Roboterfabrik/doc/script.js new file mode 100644 index 0000000..864989c --- /dev/null +++ b/Roboterfabrik/doc/script.js @@ -0,0 +1,132 @@ +/* + * Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +var moduleSearchIndex; +var packageSearchIndex; +var typeSearchIndex; +var memberSearchIndex; +var tagSearchIndex; +function loadScripts(doc, tag) { + createElem(doc, tag, 'search.js'); + + createElem(doc, tag, 'module-search-index.js'); + createElem(doc, tag, 'package-search-index.js'); + createElem(doc, tag, 'type-search-index.js'); + createElem(doc, tag, 'member-search-index.js'); + createElem(doc, tag, 'tag-search-index.js'); +} + +function createElem(doc, tag, path) { + var script = doc.createElement(tag); + var scriptElement = doc.getElementsByTagName(tag)[0]; + script.src = pathtoroot + path; + scriptElement.parentNode.insertBefore(script, scriptElement); +} + +function show(tableId, selected, columns) { + if (tableId !== selected) { + document.querySelectorAll('div.' + tableId + ':not(.' + selected + ')') + .forEach(function(elem) { + elem.style.display = 'none'; + }); + } + document.querySelectorAll('div.' + selected) + .forEach(function(elem, index) { + elem.style.display = ''; + var isEvenRow = index % (columns * 2) < columns; + elem.classList.remove(isEvenRow ? oddRowColor : evenRowColor); + elem.classList.add(isEvenRow ? evenRowColor : oddRowColor); + }); + updateTabs(tableId, selected); +} + +function updateTabs(tableId, selected) { + document.querySelector('div#' + tableId +' .summary-table') + .setAttribute('aria-labelledby', selected); + document.querySelectorAll('button[id^="' + tableId + '"]') + .forEach(function(tab, index) { + if (selected === tab.id || (tableId === selected && index === 0)) { + tab.className = activeTableTab; + tab.setAttribute('aria-selected', true); + tab.setAttribute('tabindex',0); + } else { + tab.className = tableTab; + tab.setAttribute('aria-selected', false); + tab.setAttribute('tabindex',-1); + } + }); +} + +function switchTab(e) { + var selected = document.querySelector('[aria-selected=true]'); + if (selected) { + if ((e.keyCode === 37 || e.keyCode === 38) && selected.previousSibling) { + // left or up arrow key pressed: move focus to previous tab + selected.previousSibling.click(); + selected.previousSibling.focus(); + e.preventDefault(); + } else if ((e.keyCode === 39 || e.keyCode === 40) && selected.nextSibling) { + // right or down arrow key pressed: move focus to next tab + selected.nextSibling.click(); + selected.nextSibling.focus(); + e.preventDefault(); + } + } +} + +var updateSearchResults = function() {}; + +function indexFilesLoaded() { + return moduleSearchIndex + && packageSearchIndex + && typeSearchIndex + && memberSearchIndex + && tagSearchIndex; +} + +// Workaround for scroll position not being included in browser history (8249133) +document.addEventListener("DOMContentLoaded", function(e) { + var contentDiv = document.querySelector("div.flex-content"); + window.addEventListener("popstate", function(e) { + if (e.state !== null) { + contentDiv.scrollTop = e.state; + } + }); + window.addEventListener("hashchange", function(e) { + history.replaceState(contentDiv.scrollTop, document.title); + }); + contentDiv.addEventListener("scroll", function(e) { + var timeoutID; + if (!timeoutID) { + timeoutID = setTimeout(function() { + history.replaceState(contentDiv.scrollTop, document.title); + timeoutID = null; + }, 100); + } + }); + if (!location.hash) { + history.replaceState(contentDiv.scrollTop, document.title); + } +}); diff --git a/Roboterfabrik/doc/search.js b/Roboterfabrik/doc/search.js new file mode 100644 index 0000000..db3b2f4 --- /dev/null +++ b/Roboterfabrik/doc/search.js @@ -0,0 +1,354 @@ +/* + * Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +var noResult = {l: "No results found"}; +var loading = {l: "Loading search index..."}; +var catModules = "Modules"; +var catPackages = "Packages"; +var catTypes = "Classes and Interfaces"; +var catMembers = "Members"; +var catSearchTags = "Search Tags"; +var highlight = "$&"; +var searchPattern = ""; +var fallbackPattern = ""; +var RANKING_THRESHOLD = 2; +var NO_MATCH = 0xffff; +var MIN_RESULTS = 3; +var MAX_RESULTS = 500; +var UNNAMED = ""; +function escapeHtml(str) { + return str.replace(//g, ">"); +} +function getHighlightedText(item, matcher, fallbackMatcher) { + var escapedItem = escapeHtml(item); + var highlighted = escapedItem.replace(matcher, highlight); + if (highlighted === escapedItem) { + highlighted = escapedItem.replace(fallbackMatcher, highlight) + } + return highlighted; +} +function getURLPrefix(ui) { + var urlPrefix=""; + var slash = "/"; + if (ui.item.category === catModules) { + return ui.item.l + slash; + } else if (ui.item.category === catPackages && ui.item.m) { + return ui.item.m + slash; + } else if (ui.item.category === catTypes || ui.item.category === catMembers) { + if (ui.item.m) { + urlPrefix = ui.item.m + slash; + } else { + $.each(packageSearchIndex, function(index, item) { + if (item.m && ui.item.p === item.l) { + urlPrefix = item.m + slash; + } + }); + } + } + return urlPrefix; +} +function createSearchPattern(term) { + var pattern = ""; + var isWordToken = false; + term.replace(/,\s*/g, ", ").trim().split(/\s+/).forEach(function(w, index) { + if (index > 0) { + // whitespace between identifiers is significant + pattern += (isWordToken && /^\w/.test(w)) ? "\\s+" : "\\s*"; + } + var tokens = w.split(/(?=[A-Z,.()<>[\/])/); + for (var i = 0; i < tokens.length; i++) { + var s = tokens[i]; + if (s === "") { + continue; + } + pattern += $.ui.autocomplete.escapeRegex(s); + isWordToken = /\w$/.test(s); + if (isWordToken) { + pattern += "([a-z0-9_$<>\\[\\]]*?)"; + } + } + }); + return pattern; +} +function createMatcher(pattern, flags) { + var isCamelCase = /[A-Z]/.test(pattern); + return new RegExp(pattern, flags + (isCamelCase ? "" : "i")); +} +var watermark = 'Search'; +$(function() { + var search = $("#search-input"); + var reset = $("#reset-button"); + search.val(''); + search.prop("disabled", false); + reset.prop("disabled", false); + search.val(watermark).addClass('watermark'); + search.blur(function() { + if ($(this).val().length === 0) { + $(this).val(watermark).addClass('watermark'); + } + }); + search.on('click keydown paste', function() { + if ($(this).val() === watermark) { + $(this).val('').removeClass('watermark'); + } + }); + reset.click(function() { + search.val('').focus(); + }); + search.focus()[0].setSelectionRange(0, 0); +}); +$.widget("custom.catcomplete", $.ui.autocomplete, { + _create: function() { + this._super(); + this.widget().menu("option", "items", "> :not(.ui-autocomplete-category)"); + }, + _renderMenu: function(ul, items) { + var rMenu = this; + var currentCategory = ""; + rMenu.menu.bindings = $(); + $.each(items, function(index, item) { + var li; + if (item.category && item.category !== currentCategory) { + ul.append("
    • " + item.category + "
    • "); + currentCategory = item.category; + } + li = rMenu._renderItemData(ul, item); + if (item.category) { + li.attr("aria-label", item.category + " : " + item.l); + li.attr("class", "result-item"); + } else { + li.attr("aria-label", item.l); + li.attr("class", "result-item"); + } + }); + }, + _renderItem: function(ul, item) { + var label = ""; + var matcher = createMatcher(escapeHtml(searchPattern), "g"); + var fallbackMatcher = new RegExp(fallbackPattern, "gi") + if (item.category === catModules) { + label = getHighlightedText(item.l, matcher, fallbackMatcher); + } else if (item.category === catPackages) { + label = getHighlightedText(item.l, matcher, fallbackMatcher); + } else if (item.category === catTypes) { + label = (item.p && item.p !== UNNAMED) + ? getHighlightedText(item.p + "." + item.l, matcher, fallbackMatcher) + : getHighlightedText(item.l, matcher, fallbackMatcher); + } else if (item.category === catMembers) { + label = (item.p && item.p !== UNNAMED) + ? getHighlightedText(item.p + "." + item.c + "." + item.l, matcher, fallbackMatcher) + : getHighlightedText(item.c + "." + item.l, matcher, fallbackMatcher); + } else if (item.category === catSearchTags) { + label = getHighlightedText(item.l, matcher, fallbackMatcher); + } else { + label = item.l; + } + var li = $("
    • ").appendTo(ul); + var div = $("
      ").appendTo(li); + if (item.category === catSearchTags && item.h) { + if (item.d) { + div.html(label + " (" + item.h + ")
      " + + item.d + "
      "); + } else { + div.html(label + " (" + item.h + ")"); + } + } else { + if (item.m) { + div.html(item.m + "/" + label); + } else { + div.html(label); + } + } + return li; + } +}); +function rankMatch(match, category) { + if (!match) { + return NO_MATCH; + } + var index = match.index; + var input = match.input; + var leftBoundaryMatch = 2; + var periferalMatch = 0; + // make sure match is anchored on a left word boundary + if (index === 0 || /\W/.test(input[index - 1]) || "_" === input[index]) { + leftBoundaryMatch = 0; + } else if ("_" === input[index - 1] || (input[index] === input[index].toUpperCase() && !/^[A-Z0-9_$]+$/.test(input))) { + leftBoundaryMatch = 1; + } + var matchEnd = index + match[0].length; + var leftParen = input.indexOf("("); + var endOfName = leftParen > -1 ? leftParen : input.length; + // exclude peripheral matches + if (category !== catModules && category !== catSearchTags) { + var delim = category === catPackages ? "/" : "."; + if (leftParen > -1 && leftParen < index) { + periferalMatch += 2; + } else if (input.lastIndexOf(delim, endOfName) >= matchEnd) { + periferalMatch += 2; + } + } + var delta = match[0].length === endOfName ? 0 : 1; // rank full match higher than partial match + for (var i = 1; i < match.length; i++) { + // lower ranking if parts of the name are missing + if (match[i]) + delta += match[i].length; + } + if (category === catTypes) { + // lower ranking if a type name contains unmatched camel-case parts + if (/[A-Z]/.test(input.substring(matchEnd))) + delta += 5; + if (/[A-Z]/.test(input.substring(0, index))) + delta += 5; + } + return leftBoundaryMatch + periferalMatch + (delta / 200); + +} +function doSearch(request, response) { + var result = []; + searchPattern = createSearchPattern(request.term); + fallbackPattern = createSearchPattern(request.term.toLowerCase()); + if (searchPattern === "") { + return this.close(); + } + var camelCaseMatcher = createMatcher(searchPattern, ""); + var fallbackMatcher = new RegExp(fallbackPattern, "i"); + + function searchIndexWithMatcher(indexArray, matcher, category, nameFunc) { + if (indexArray) { + var newResults = []; + $.each(indexArray, function (i, item) { + item.category = category; + var ranking = rankMatch(matcher.exec(nameFunc(item)), category); + if (ranking < RANKING_THRESHOLD) { + newResults.push({ranking: ranking, item: item}); + } + return newResults.length <= MAX_RESULTS; + }); + return newResults.sort(function(e1, e2) { + return e1.ranking - e2.ranking; + }).map(function(e) { + return e.item; + }); + } + return []; + } + function searchIndex(indexArray, category, nameFunc) { + var primaryResults = searchIndexWithMatcher(indexArray, camelCaseMatcher, category, nameFunc); + result = result.concat(primaryResults); + if (primaryResults.length <= MIN_RESULTS && !camelCaseMatcher.ignoreCase) { + var secondaryResults = searchIndexWithMatcher(indexArray, fallbackMatcher, category, nameFunc); + result = result.concat(secondaryResults.filter(function (item) { + return primaryResults.indexOf(item) === -1; + })); + } + } + + searchIndex(moduleSearchIndex, catModules, function(item) { return item.l; }); + searchIndex(packageSearchIndex, catPackages, function(item) { + return (item.m && request.term.indexOf("/") > -1) + ? (item.m + "/" + item.l) : item.l; + }); + searchIndex(typeSearchIndex, catTypes, function(item) { + return request.term.indexOf(".") > -1 ? item.p + "." + item.l : item.l; + }); + searchIndex(memberSearchIndex, catMembers, function(item) { + return request.term.indexOf(".") > -1 + ? item.p + "." + item.c + "." + item.l : item.l; + }); + searchIndex(tagSearchIndex, catSearchTags, function(item) { return item.l; }); + + if (!indexFilesLoaded()) { + updateSearchResults = function() { + doSearch(request, response); + } + result.unshift(loading); + } else { + updateSearchResults = function() {}; + } + response(result); +} +$(function() { + $("#search-input").catcomplete({ + minLength: 1, + delay: 300, + source: doSearch, + response: function(event, ui) { + if (!ui.content.length) { + ui.content.push(noResult); + } else { + $("#search-input").empty(); + } + }, + autoFocus: true, + focus: function(event, ui) { + return false; + }, + position: { + collision: "flip" + }, + select: function(event, ui) { + if (ui.item.category) { + var url = getURLPrefix(ui); + if (ui.item.category === catModules) { + url += "module-summary.html"; + } else if (ui.item.category === catPackages) { + if (ui.item.u) { + url = ui.item.u; + } else { + url += ui.item.l.replace(/\./g, '/') + "/package-summary.html"; + } + } else if (ui.item.category === catTypes) { + if (ui.item.u) { + url = ui.item.u; + } else if (ui.item.p === UNNAMED) { + url += ui.item.l + ".html"; + } else { + url += ui.item.p.replace(/\./g, '/') + "/" + ui.item.l + ".html"; + } + } else if (ui.item.category === catMembers) { + if (ui.item.p === UNNAMED) { + url += ui.item.c + ".html" + "#"; + } else { + url += ui.item.p.replace(/\./g, '/') + "/" + ui.item.c + ".html" + "#"; + } + if (ui.item.u) { + url += ui.item.u; + } else { + url += ui.item.l; + } + } else if (ui.item.category === catSearchTags) { + url += ui.item.u; + } + if (top !== window) { + parent.classFrame.location = pathtoroot + url; + } else { + window.location.href = pathtoroot + url; + } + $("#search-input").focus(); + } + } + }); +}); diff --git a/Roboterfabrik/doc/serialized-form.html b/Roboterfabrik/doc/serialized-form.html new file mode 100644 index 0000000..dee13a1 --- /dev/null +++ b/Roboterfabrik/doc/serialized-form.html @@ -0,0 +1,123 @@ + + + + +Serialized Form + + + + + + + + + + + + + + + +
      + +
      +
      +
      +

      Serialized Form

      +
      + +
      +
      +
      + + diff --git a/Roboterfabrik/doc/stylesheet.css b/Roboterfabrik/doc/stylesheet.css new file mode 100644 index 0000000..836c62d --- /dev/null +++ b/Roboterfabrik/doc/stylesheet.css @@ -0,0 +1,865 @@ +/* + * Javadoc style sheet + */ + +@import url('resources/fonts/dejavu.css'); + +/* + * Styles for individual HTML elements. + * + * These are styles that are specific to individual HTML elements. Changing them affects the style of a particular + * HTML element throughout the page. + */ + +body { + background-color:#ffffff; + color:#353833; + font-family:'DejaVu Sans', Arial, Helvetica, sans-serif; + font-size:14px; + margin:0; + padding:0; + height:100%; + width:100%; +} +iframe { + margin:0; + padding:0; + height:100%; + width:100%; + overflow-y:scroll; + border:none; +} +a:link, a:visited { + text-decoration:none; + color:#4A6782; +} +a[href]:hover, a[href]:focus { + text-decoration:none; + color:#bb7a2a; +} +a[name] { + color:#353833; +} +pre { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; +} +h1 { + font-size:20px; +} +h2 { + font-size:18px; +} +h3 { + font-size:16px; +} +h4 { + font-size:15px; +} +h5 { + font-size:14px; +} +h6 { + font-size:13px; +} +ul { + list-style-type:disc; +} +code, tt { + font-family:'DejaVu Sans Mono', monospace; +} +:not(h1, h2, h3, h4, h5, h6) > code, +:not(h1, h2, h3, h4, h5, h6) > tt { + font-size:14px; + padding-top:4px; + margin-top:8px; + line-height:1.4em; +} +dt code { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + padding-top:4px; +} +.summary-table dt code { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + vertical-align:top; + padding-top:4px; +} +sup { + font-size:8px; +} +button { + font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif; + font-size: 14px; +} +/* + * Styles for HTML generated by javadoc. + * + * These are style classes that are used by the standard doclet to generate HTML documentation. + */ + +/* + * Styles for document title and copyright. + */ +.clear { + clear:both; + height:0; + overflow:hidden; +} +.about-language { + float:right; + padding:0 21px 8px 8px; + font-size:11px; + margin-top:-9px; + height:2.9em; +} +.legal-copy { + margin-left:.5em; +} +.tab { + background-color:#0066FF; + color:#ffffff; + padding:8px; + width:5em; + font-weight:bold; +} +/* + * Styles for navigation bar. + */ +@media screen { + .flex-box { + position:fixed; + display:flex; + flex-direction:column; + height: 100%; + width: 100%; + } + .flex-header { + flex: 0 0 auto; + } + .flex-content { + flex: 1 1 auto; + overflow-y: auto; + } +} +.top-nav { + background-color:#4D7A97; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + min-height:2.8em; + padding-top:10px; + overflow:hidden; + font-size:12px; +} +.sub-nav { + background-color:#dee3e9; + float:left; + width:100%; + overflow:hidden; + font-size:12px; +} +.sub-nav div { + clear:left; + float:left; + padding:0 0 5px 6px; + text-transform:uppercase; +} +.sub-nav .nav-list { + padding-top:5px; +} +ul.nav-list { + display:block; + margin:0 25px 0 0; + padding:0; +} +ul.sub-nav-list { + float:left; + margin:0 25px 0 0; + padding:0; +} +ul.nav-list li { + list-style:none; + float:left; + padding: 5px 6px; + text-transform:uppercase; +} +.sub-nav .nav-list-search { + float:right; + margin:0 0 0 0; + padding:5px 6px; + clear:none; +} +.nav-list-search label { + position:relative; + right:-16px; +} +ul.sub-nav-list li { + list-style:none; + float:left; + padding-top:10px; +} +.top-nav a:link, .top-nav a:active, .top-nav a:visited { + color:#FFFFFF; + text-decoration:none; + text-transform:uppercase; +} +.top-nav a:hover { + text-decoration:none; + color:#bb7a2a; + text-transform:uppercase; +} +.nav-bar-cell1-rev { + background-color:#F8981D; + color:#253441; + margin: auto 5px; +} +.skip-nav { + position:absolute; + top:auto; + left:-9999px; + overflow:hidden; +} +/* + * Hide navigation links and search box in print layout + */ +@media print { + ul.nav-list, div.sub-nav { + display:none; + } +} +/* + * Styles for page header and footer. + */ +.title { + color:#2c4557; + margin:10px 0; +} +.sub-title { + margin:5px 0 0 0; +} +.header ul { + margin:0 0 15px 0; + padding:0; +} +.header ul li, .footer ul li { + list-style:none; + font-size:13px; +} +/* + * Styles for headings. + */ +body.class-declaration-page .summary h2, +body.class-declaration-page .details h2, +body.class-use-page h2, +body.module-declaration-page .block-list h2 { + font-style: italic; + padding:0; + margin:15px 0; +} +body.class-declaration-page .summary h3, +body.class-declaration-page .details h3, +body.class-declaration-page .summary .inherited-list h2 { + background-color:#dee3e9; + border:1px solid #d0d9e0; + margin:0 0 6px -8px; + padding:7px 5px; +} +/* + * Styles for page layout containers. + */ +main { + clear:both; + padding:10px 20px; + position:relative; +} +dl.notes > dt { + font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif; + font-size:12px; + font-weight:bold; + margin:10px 0 0 0; + color:#4E4E4E; +} +dl.notes > dd { + margin:5px 10px 10px 0; + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; +} +dl.name-value > dt { + margin-left:1px; + font-size:1.1em; + display:inline; + font-weight:bold; +} +dl.name-value > dd { + margin:0 0 0 1px; + font-size:1.1em; + display:inline; +} +/* + * Styles for lists. + */ +li.circle { + list-style:circle; +} +ul.horizontal li { + display:inline; + font-size:0.9em; +} +div.inheritance { + margin:0; + padding:0; +} +div.inheritance div.inheritance { + margin-left:2em; +} +ul.block-list, +ul.details-list, +ul.member-list, +ul.summary-list { + margin:10px 0 10px 0; + padding:0; +} +ul.block-list > li, +ul.details-list > li, +ul.member-list > li, +ul.summary-list > li { + list-style:none; + margin-bottom:15px; + line-height:1.4; +} +.summary-table dl, .summary-table dl dt, .summary-table dl dd { + margin-top:0; + margin-bottom:1px; +} +ul.see-list, ul.see-list-long { + padding-left: 0; + list-style: none; +} +ul.see-list li { + display: inline; +} +ul.see-list li:not(:last-child):after, +ul.see-list-long li:not(:last-child):after { + content: ", "; + white-space: pre-wrap; +} +/* + * Styles for tables. + */ +.summary-table, .details-table { + width:100%; + border-spacing:0; + border-left:1px solid #EEE; + border-right:1px solid #EEE; + border-bottom:1px solid #EEE; + padding:0; +} +.caption { + position:relative; + text-align:left; + background-repeat:no-repeat; + color:#253441; + font-weight:bold; + clear:none; + overflow:hidden; + padding:0; + padding-top:10px; + padding-left:1px; + margin:0; + white-space:pre; +} +.caption a:link, .caption a:visited { + color:#1f389c; +} +.caption a:hover, +.caption a:active { + color:#FFFFFF; +} +.caption span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + padding-bottom:7px; + display:inline-block; + float:left; + background-color:#F8981D; + border: none; + height:16px; +} +div.table-tabs { + padding:10px 0 0 1px; + margin:0; +} +div.table-tabs > button { + border: none; + cursor: pointer; + padding: 5px 12px 7px 12px; + font-weight: bold; + margin-right: 3px; +} +div.table-tabs > button.active-table-tab { + background: #F8981D; + color: #253441; +} +div.table-tabs > button.table-tab { + background: #4D7A97; + color: #FFFFFF; +} +.two-column-summary { + display: grid; + grid-template-columns: minmax(15%, max-content) minmax(15%, auto); +} +.three-column-summary { + display: grid; + grid-template-columns: minmax(10%, max-content) minmax(15%, max-content) minmax(15%, auto); +} +.four-column-summary { + display: grid; + grid-template-columns: minmax(10%, max-content) minmax(10%, max-content) minmax(10%, max-content) minmax(10%, auto); +} +@media screen and (max-width: 600px) { + .two-column-summary { + display: grid; + grid-template-columns: 1fr; + } +} +@media screen and (max-width: 800px) { + .three-column-summary { + display: grid; + grid-template-columns: minmax(10%, max-content) minmax(25%, auto); + } + .three-column-summary .col-last { + grid-column-end: span 2; + } +} +@media screen and (max-width: 1000px) { + .four-column-summary { + display: grid; + grid-template-columns: minmax(15%, max-content) minmax(15%, auto); + } +} +.summary-table > div, .details-table > div { + text-align:left; + padding: 8px 3px 3px 7px; +} +.col-first, .col-second, .col-last, .col-constructor-name, .col-summary-item-name { + vertical-align:top; + padding-right:0; + padding-top:8px; + padding-bottom:3px; +} +.table-header { + background:#dee3e9; + font-weight: bold; +} +.col-first, .col-first { + font-size:13px; +} +.col-second, .col-second, .col-last, .col-constructor-name, .col-summary-item-name, .col-last { + font-size:13px; +} +.col-first, .col-second, .col-constructor-name { + vertical-align:top; + overflow: auto; +} +.col-last { + white-space:normal; +} +.col-first a:link, .col-first a:visited, +.col-second a:link, .col-second a:visited, +.col-first a:link, .col-first a:visited, +.col-second a:link, .col-second a:visited, +.col-constructor-name a:link, .col-constructor-name a:visited, +.col-summary-item-name a:link, .col-summary-item-name a:visited, +.constant-values-container a:link, .constant-values-container a:visited, +.all-classes-container a:link, .all-classes-container a:visited, +.all-packages-container a:link, .all-packages-container a:visited { + font-weight:bold; +} +.table-sub-heading-color { + background-color:#EEEEFF; +} +.even-row-color, .even-row-color .table-header { + background-color:#FFFFFF; +} +.odd-row-color, .odd-row-color .table-header { + background-color:#EEEEEF; +} +/* + * Styles for contents. + */ +.deprecated-content { + margin:0; + padding:10px 0; +} +div.block { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; +} +.col-last div { + padding-top:0; +} +.col-last a { + padding-bottom:3px; +} +.module-signature, +.package-signature, +.type-signature, +.member-signature { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + margin:14px 0; + white-space: pre-wrap; +} +.module-signature, +.package-signature, +.type-signature { + margin-top: 0; +} +.member-signature .type-parameters-long, +.member-signature .parameters, +.member-signature .exceptions { + display: inline-block; + vertical-align: top; + white-space: pre; +} +.member-signature .type-parameters { + white-space: normal; +} +/* + * Styles for formatting effect. + */ +.source-line-no { + color:green; + padding:0 30px 0 0; +} +h1.hidden { + visibility:hidden; + overflow:hidden; + font-size:10px; +} +.block { + display:block; + margin:0 10px 5px 0; + color:#474747; +} +.deprecated-label, .descfrm-type-label, .implementation-label, .member-name-label, .member-name-link, +.module-label-in-package, .module-label-in-type, .override-specify-label, .package-label-in-type, +.package-hierarchy-label, .type-name-label, .type-name-link, .search-tag-link, .preview-label { + font-weight:bold; +} +.deprecation-comment, .help-footnote, .preview-comment { + font-style:italic; +} +.deprecation-block { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; + border-style:solid; + border-width:thin; + border-radius:10px; + padding:10px; + margin-bottom:10px; + margin-right:10px; + display:inline-block; +} +.preview-block { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; + border-style:solid; + border-width:thin; + border-radius:10px; + padding:10px; + margin-bottom:10px; + margin-right:10px; + display:inline-block; +} +div.block div.deprecation-comment { + font-style:normal; +} +/* + * Styles specific to HTML5 elements. + */ +main, nav, header, footer, section { + display:block; +} +/* + * Styles for javadoc search. + */ +.ui-autocomplete-category { + font-weight:bold; + font-size:15px; + padding:7px 0 7px 3px; + background-color:#4D7A97; + color:#FFFFFF; +} +.result-item { + font-size:13px; +} +.ui-autocomplete { + max-height:85%; + max-width:65%; + overflow-y:scroll; + overflow-x:scroll; + white-space:nowrap; + box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23); +} +ul.ui-autocomplete { + position:fixed; + z-index:999999; +} +ul.ui-autocomplete li { + float:left; + clear:both; + width:100%; +} +.result-highlight { + font-weight:bold; +} +#search-input { + background-image:url('resources/glass.png'); + background-size:13px; + background-repeat:no-repeat; + background-position:2px 3px; + padding-left:20px; + position:relative; + right:-18px; + width:400px; +} +#reset-button { + background-color: rgb(255,255,255); + background-image:url('resources/x.png'); + background-position:center; + background-repeat:no-repeat; + background-size:12px; + border:0 none; + width:16px; + height:16px; + position:relative; + left:-4px; + top:-4px; + font-size:0px; +} +.watermark { + color:#545454; +} +.search-tag-desc-result { + font-style:italic; + font-size:11px; +} +.search-tag-holder-result { + font-style:italic; + font-size:12px; +} +.search-tag-result:target { + background-color:yellow; +} +.module-graph span { + display:none; + position:absolute; +} +.module-graph:hover span { + display:block; + margin: -100px 0 0 100px; + z-index: 1; +} +.inherited-list { + margin: 10px 0 10px 0; +} +section.class-description { + line-height: 1.4; +} +.summary section[class$="-summary"], .details section[class$="-details"], +.class-uses .detail, .serialized-class-details { + padding: 0px 20px 5px 10px; + border: 1px solid #ededed; + background-color: #f8f8f8; +} +.inherited-list, section[class$="-details"] .detail { + padding:0 0 5px 8px; + background-color:#ffffff; + border:none; +} +.vertical-separator { + padding: 0 5px; +} +ul.help-section-list { + margin: 0; +} +ul.help-subtoc > li { + display: inline-block; + padding-right: 5px; + font-size: smaller; +} +ul.help-subtoc > li::before { + content: "\2022" ; + padding-right:2px; +} +span.help-note { + font-style: italic; +} +/* + * Indicator icon for external links. + */ +main a[href*="://"]::after { + content:""; + display:inline-block; + background-image:url('data:image/svg+xml; utf8, \ + \ + \ + '); + background-size:100% 100%; + width:7px; + height:7px; + margin-left:2px; + margin-bottom:4px; +} +main a[href*="://"]:hover::after, +main a[href*="://"]:focus::after { + background-image:url('data:image/svg+xml; utf8, \ + \ + \ + '); +} + +/* + * Styles for user-provided tables. + * + * borderless: + * No borders, vertical margins, styled caption. + * This style is provided for use with existing doc comments. + * In general, borderless tables should not be used for layout purposes. + * + * plain: + * Plain borders around table and cells, vertical margins, styled caption. + * Best for small tables or for complex tables for tables with cells that span + * rows and columns, when the "striped" style does not work well. + * + * striped: + * Borders around the table and vertical borders between cells, striped rows, + * vertical margins, styled caption. + * Best for tables that have a header row, and a body containing a series of simple rows. + */ + +table.borderless, +table.plain, +table.striped { + margin-top: 10px; + margin-bottom: 10px; +} +table.borderless > caption, +table.plain > caption, +table.striped > caption { + font-weight: bold; + font-size: smaller; +} +table.borderless th, table.borderless td, +table.plain th, table.plain td, +table.striped th, table.striped td { + padding: 2px 5px; +} +table.borderless, +table.borderless > thead > tr > th, table.borderless > tbody > tr > th, table.borderless > tr > th, +table.borderless > thead > tr > td, table.borderless > tbody > tr > td, table.borderless > tr > td { + border: none; +} +table.borderless > thead > tr, table.borderless > tbody > tr, table.borderless > tr { + background-color: transparent; +} +table.plain { + border-collapse: collapse; + border: 1px solid black; +} +table.plain > thead > tr, table.plain > tbody tr, table.plain > tr { + background-color: transparent; +} +table.plain > thead > tr > th, table.plain > tbody > tr > th, table.plain > tr > th, +table.plain > thead > tr > td, table.plain > tbody > tr > td, table.plain > tr > td { + border: 1px solid black; +} +table.striped { + border-collapse: collapse; + border: 1px solid black; +} +table.striped > thead { + background-color: #E3E3E3; +} +table.striped > thead > tr > th, table.striped > thead > tr > td { + border: 1px solid black; +} +table.striped > tbody > tr:nth-child(even) { + background-color: #EEE +} +table.striped > tbody > tr:nth-child(odd) { + background-color: #FFF +} +table.striped > tbody > tr > th, table.striped > tbody > tr > td { + border-left: 1px solid black; + border-right: 1px solid black; +} +table.striped > tbody > tr > th { + font-weight: normal; +} +/** + * Tweak font sizes and paddings for small screens. + */ +@media screen and (max-width: 1050px) { + #search-input { + width: 300px; + } +} +@media screen and (max-width: 800px) { + #search-input { + width: 200px; + } + .top-nav, + .bottom-nav { + font-size: 11px; + padding-top: 6px; + } + .sub-nav { + font-size: 11px; + } + .about-language { + padding-right: 16px; + } + ul.nav-list li, + .sub-nav .nav-list-search { + padding: 6px; + } + ul.sub-nav-list li { + padding-top: 5px; + } + main { + padding: 10px; + } + .summary section[class$="-summary"], .details section[class$="-details"], + .class-uses .detail, .serialized-class-details { + padding: 0 8px 5px 8px; + } + body { + -webkit-text-size-adjust: none; + } +} +@media screen and (max-width: 500px) { + #search-input { + width: 150px; + } + .top-nav, + .bottom-nav { + font-size: 10px; + } + .sub-nav { + font-size: 10px; + } + .about-language { + font-size: 10px; + padding-right: 12px; + } +} diff --git a/Roboterfabrik/doc/tag-search-index.js b/Roboterfabrik/doc/tag-search-index.js new file mode 100644 index 0000000..f38b3cb --- /dev/null +++ b/Roboterfabrik/doc/tag-search-index.js @@ -0,0 +1 @@ +tagSearchIndex = [{"l":"Serialized Form","h":"","u":"serialized-form.html"}];updateSearchResults(); \ No newline at end of file diff --git a/Roboterfabrik/doc/tpe/exceptions/roboter/Robot.html b/Roboterfabrik/doc/tpe/exceptions/roboter/Robot.html new file mode 100644 index 0000000..b4ba6aa --- /dev/null +++ b/Roboterfabrik/doc/tpe/exceptions/roboter/Robot.html @@ -0,0 +1,110 @@ + + + + +Robot + + + + + + + + + + + + + + + +
      + +
      +
      + +
      + +

      Interface Robot

      +
      +
      +
      +
      All Superinterfaces:
      +
      RobotControl, RobotInstructions
      +
      +
      +
      All Known Implementing Classes:
      +
      C3PO, Nexus6, R2D2, Roboter
      +
      +
      +
      public interface Robot +extends RobotControl, RobotInstructions
      +
      Interface für Roboter.
      +
      +
      Author:
      +
      Thomas Smits
      +
      +
      +
      + +
      + +
      +
      +
      + + diff --git a/Roboterfabrik/doc/tpe/exceptions/roboter/RobotControl.html b/Roboterfabrik/doc/tpe/exceptions/roboter/RobotControl.html new file mode 100644 index 0000000..2a85a31 --- /dev/null +++ b/Roboterfabrik/doc/tpe/exceptions/roboter/RobotControl.html @@ -0,0 +1,233 @@ + + + + +RobotControl + + + + + + + + + + + + + + + +
      + +
      +
      + +
      + +

      Interface RobotControl

      +
      +
      +
      +
      All Known Subinterfaces:
      +
      Robot
      +
      +
      +
      All Known Implementing Classes:
      +
      C3PO, Nexus6, R2D2, Roboter
      +
      +
      +
      public interface RobotControl
      +
      Das Interface repräsentiert einen einfachen Roboter mit seinen Funktionen. + + Jeder produzierte Roboter hat einen Namen, der vom Besteller frei gewählt + werden kann. Der Name bleibt über die gesamte Lebensdauer des Roboters + unveränderlich. Man kann einen Roboter jederzeit über die + getName()-Methode nach seinem Namen fragen. + + Zusätzlich zum frei gewählten Namen, hat jeder Roboter noch eine + Seriennummer. Diese wird bei der Produktion festgelegt und hat einen vom + Roboter-Typ abhängigen Bereich möglicher Werte. Innerhalb des Bereiches wird + die Seriennummer zufällig vergeben. Die Seriennummer kann auch bei + ausgeschalteten Roboter über getId()gelesen werden. + + Ein Roboter hat einen Hauptschalter, der mithilfe der + triggerPowerSwitch()-Methode bedient werden kann. Direkt nach + der Produktion ist der Roboter ausgeschaltet. Drückt man einmal auf den + Schalter, wird er eingeschaltet. Ein weiterer Druck schaltet ihn wieder aus, usw. + + Die aktuelle Position des Hauptschalters kann man mit der Methode + isPowerOn() abfragen. Hierbei bedeutet true, dass + der Roboter eingeschaltet ist und false, dass er nicht + eingeschaltet ist. + + Falls ein Fehler auftritt, kann der Nutzer des Roboters den letzten + aufgetretenen Fehler über eine Blackbox (Fehlerspeicher) auslesen. Dies + geschieht mithilfe der getLastException()-Methode. Der + Fehlerspeicher kann auch bei ausgeschaltetem Roboter benutzt werden. Gab es + noch keinen Fehler, ist der Fehlerspeicher leer (null). + + Alle Methoden dieses Interfaces können auch auf einem Roboter aufgerufen + werden, der ausgeschaltet ist (d.h. wenn isPowerOn() == false).
      +
      +
      +
        + +
      • +
        +

        Method Summary

        +
        +
        +
        +
        +
        Modifier and Type
        +
        Method
        +
        Description
        +
        int
        + +
        +
        Gibt die ID (Seriennummer) des Roboters zurück.
        +
        + + +
        +
        Ruft die zuletzt aufgetretene Ausnahme aus der Blackbox ab.
        +
        + + +
        +
        Gibt den Namen des Roboter-Exemplars zurück.
        +
        +
        boolean
        + +
        +
        Prüft ob der Roboter eingeschaltet ist.
        +
        +
        void
        + +
        +
        Betätigen den An-/Ausschaltknopf.
        +
        +
        +
        +
        +
        +
      • +
      +
      +
      +
        + +
      • +
        +

        Method Details

        +
          +
        • +
          +

          getId

          +
          int getId()
          +
          Gibt die ID (Seriennummer) des Roboters zurück.
          +
          +
          Returns:
          +
          Eine eindeutige Identifikation in Form einer Zahl.
          +
          +
          +
        • +
        • +
          +

          getName

          +
          String getName()
          +
          Gibt den Namen des Roboter-Exemplars zurück.
          +
          +
          Returns:
          +
          Der Name des Roboters.
          +
          +
          +
        • +
        • +
          +

          triggerPowerSwitch

          +
          void triggerPowerSwitch()
          +
          Betätigen den An-/Ausschaltknopf.
          +
          +
        • +
        • +
          +

          isPowerOn

          +
          boolean isPowerOn()
          +
          Prüft ob der Roboter eingeschaltet ist.
          +
          +
          Returns:
          +
          true bedeutet, dass der Roboter eingeschaltet ist, + false, dass er nicht eingeschaltet ist.
          +
          +
          +
        • +
        • +
          +

          getLastException

          +
          RobotException getLastException()
          +
          Ruft die zuletzt aufgetretene Ausnahme aus der Blackbox ab.
          +
          +
          Returns:
          +
          zuletzt aufgetretene Ausnahme oder null falls noch + keine aufgetreten ist.
          +
          +
          +
        • +
        +
        +
      • +
      +
      + +
      +
      +
      + + diff --git a/Roboterfabrik/doc/tpe/exceptions/roboter/RobotInstructions.html b/Roboterfabrik/doc/tpe/exceptions/roboter/RobotInstructions.html new file mode 100644 index 0000000..fd3ce3c --- /dev/null +++ b/Roboterfabrik/doc/tpe/exceptions/roboter/RobotInstructions.html @@ -0,0 +1,187 @@ + + + + +RobotInstructions + + + + + + + + + + + + + + + +
      + +
      +
      + +
      + +

      Interface RobotInstructions

      +
      +
      +
      +
      All Known Subinterfaces:
      +
      Robot
      +
      +
      +
      All Known Implementing Classes:
      +
      C3PO, Nexus6, R2D2, Roboter
      +
      +
      +
      public interface RobotInstructions
      +
      Das Interface repräsentiert den Befehlssatz eines einfachen Roboters. + + Jeder Roboter kann zwei grundlegende Operationen durchführen: das Umwandeln + einer Menge von Zahlen in einen String (speak(...)) und das + sortieren eines Arrays von Zahlen (think(...)). Wie genau das + Sortieren oder die Umwandlung erfolgt, hängt vom jeweiligen Typ des Roboters ab. + + Zu beachten ist, dass die Methoden dieses Interfaces nur auf Robotern benutzt + werden können, die eingeschaltet sind. Versucht man sie auf einem + ausgeschalteten Roboter zu benutzen, werfen sie eine RobotIllegalStateException. + + Weiterhin haben alle Roboter einen kleinen technischen Defekt, der dazu führt + dass die Methoden dieses Interfaces abstürzen, wenn in den Eingabedaten ein + spezieller Wert vorkommt. Immer wenn (speak(...)) oder ( + think(...)) mit einem Array aufgerufen werden, das irgendwo die + Zahl 42 enthält, verweigern sie ihren Dienst und werfen eine + RobotMagicValueException.
      +
      +
      +
        + +
      • +
        +

        Method Summary

        +
        +
        +
        +
        +
        Modifier and Type
        +
        Method
        +
        Description
        + +
        speak(int[] zahlen)
        +
        +
        Gibt ein Array von Zahlen als String zurück.
        +
        +
        int[]
        +
        think(int[] zahlen)
        +
        +
        Sortiert ein Array von Zahlen.
        +
        +
        +
        +
        +
        +
      • +
      +
      +
      +
        + +
      • +
        +

        Method Details

        +
          +
        • +
          +

          speak

          +
          String speak(int[] zahlen) + throws RobotException
          +
          Gibt ein Array von Zahlen als String zurück. Die Zahlen werden + nicht sortiert.
          +
          +
          Parameters:
          +
          zahlen - Zahlen, die ausgegeben werden sollen.
          +
          Returns:
          +
          Zahlen als String
          +
          Throws:
          +
          RobotException - wenn der Roboter in einem ungültigen Zustand ist, + oder das Array nicht seinen Vorstellungen entspricht.
          +
          +
          +
        • +
        • +
          +

          think

          +
          int[] think(int[] zahlen) + throws RobotException
          +
          Sortiert ein Array von Zahlen. Die Reihenfolge hängt von dem Typ des + Roboters ab.
          +
          +
          Parameters:
          +
          zahlen - Zahlen, die sortiert werden sollen.
          +
          Returns:
          +
          Sortierte Zahlen
          +
          Throws:
          +
          RobotException - wenn der Roboter in einem ungültigen Zustand ist, + oder das Array nicht seinen Vorstellungen entspricht.
          +
          +
          +
        • +
        +
        +
      • +
      +
      + +
      +
      +
      + + diff --git a/Roboterfabrik/doc/tpe/exceptions/roboter/class-use/Robot.html b/Roboterfabrik/doc/tpe/exceptions/roboter/class-use/Robot.html new file mode 100644 index 0000000..bbb39ed --- /dev/null +++ b/Roboterfabrik/doc/tpe/exceptions/roboter/class-use/Robot.html @@ -0,0 +1,92 @@ + + + + +Uses of Interface tpe.exceptions.roboter.Robot + + + + + + + + + + + + + + + +
      + +
      +
      +
      +

      Uses of Interface
      tpe.exceptions.roboter.Robot

      +
      +
      Packages that use Robot
      +
      +
      Package
      +
      Description
      + +
       
      +
      +
      + +
      +
      +
      +
      + + diff --git a/Roboterfabrik/doc/tpe/exceptions/roboter/class-use/RobotControl.html b/Roboterfabrik/doc/tpe/exceptions/roboter/class-use/RobotControl.html new file mode 100644 index 0000000..081f1fc --- /dev/null +++ b/Roboterfabrik/doc/tpe/exceptions/roboter/class-use/RobotControl.html @@ -0,0 +1,110 @@ + + + + +Uses of Interface tpe.exceptions.roboter.RobotControl + + + + + + + + + + + + + + + +
      + +
      +
      +
      +

      Uses of Interface
      tpe.exceptions.roboter.RobotControl

      +
      +
      Packages that use RobotControl
      +
      +
      Package
      +
      Description
      + +
       
      + +
       
      +
      +
      + +
      +
      +
      +
      + + diff --git a/Roboterfabrik/doc/tpe/exceptions/roboter/class-use/RobotInstructions.html b/Roboterfabrik/doc/tpe/exceptions/roboter/class-use/RobotInstructions.html new file mode 100644 index 0000000..0ff3c62 --- /dev/null +++ b/Roboterfabrik/doc/tpe/exceptions/roboter/class-use/RobotInstructions.html @@ -0,0 +1,110 @@ + + + + +Uses of Interface tpe.exceptions.roboter.RobotInstructions + + + + + + + + + + + + + + + +
      + +
      +
      +
      +

      Uses of Interface
      tpe.exceptions.roboter.RobotInstructions

      +
      +
      Packages that use RobotInstructions
      +
      +
      Package
      +
      Description
      + +
       
      + +
       
      +
      +
      + +
      +
      +
      +
      + + diff --git a/Roboterfabrik/doc/tpe/exceptions/roboter/exceptions/RobotException.html b/Roboterfabrik/doc/tpe/exceptions/roboter/exceptions/RobotException.html new file mode 100644 index 0000000..87c9ecc --- /dev/null +++ b/Roboterfabrik/doc/tpe/exceptions/roboter/exceptions/RobotException.html @@ -0,0 +1,151 @@ + + + + +RobotException + + + + + + + + + + + + + + + +
      + +
      +
      + +
      + +

      Class RobotException

      +
      +
      java.lang.Object +
      java.lang.Throwable +
      java.lang.Exception +
      tpe.exceptions.roboter.exceptions.RobotException
      +
      +
      +
      +
      +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      Direct Known Subclasses:
      +
      RobotIllegalStateException, RobotMagicValueException
      +
      +
      +
      public class RobotException +extends Exception
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      + +
      +
      +
        + +
      • +
        +

        Constructor Details

        +
          +
        • +
          +

          RobotException

          +
          public RobotException(String message)
          +
          +
        • +
        +
        +
      • +
      +
      + +
      +
      +
      + + diff --git a/Roboterfabrik/doc/tpe/exceptions/roboter/exceptions/RobotIllegalStateException.html b/Roboterfabrik/doc/tpe/exceptions/roboter/exceptions/RobotIllegalStateException.html new file mode 100644 index 0000000..6d75e91 --- /dev/null +++ b/Roboterfabrik/doc/tpe/exceptions/roboter/exceptions/RobotIllegalStateException.html @@ -0,0 +1,182 @@ + + + + +RobotIllegalStateException + + + + + + + + + + + + + + + +
      + +
      +
      + +
      + +

      Class RobotIllegalStateException

      +
      +
      java.lang.Object +
      java.lang.Throwable +
      java.lang.Exception +
      tpe.exceptions.roboter.exceptions.RobotException +
      tpe.exceptions.roboter.exceptions.RobotIllegalStateException
      +
      +
      +
      +
      +
      +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      public class RobotIllegalStateException +extends RobotException
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      + +
      +
      +
        + +
      • +
        +

        Constructor Details

        +
          +
        • +
          +

          RobotIllegalStateException

          +
          public RobotIllegalStateException(String message, + String name)
          +
          +
        • +
        +
        +
      • + +
      • +
        +

        Method Details

        +
          +
        • +
          +

          getRobotName

          +
          public String getRobotName()
          +
          +
        • +
        +
        +
      • +
      +
      + +
      +
      +
      + + diff --git a/Roboterfabrik/doc/tpe/exceptions/roboter/exceptions/RobotMagicValueException.html b/Roboterfabrik/doc/tpe/exceptions/roboter/exceptions/RobotMagicValueException.html new file mode 100644 index 0000000..822be42 --- /dev/null +++ b/Roboterfabrik/doc/tpe/exceptions/roboter/exceptions/RobotMagicValueException.html @@ -0,0 +1,182 @@ + + + + +RobotMagicValueException + + + + + + + + + + + + + + + +
      + +
      +
      + +
      + +

      Class RobotMagicValueException

      +
      +
      java.lang.Object +
      java.lang.Throwable +
      java.lang.Exception +
      tpe.exceptions.roboter.exceptions.RobotException +
      tpe.exceptions.roboter.exceptions.RobotMagicValueException
      +
      +
      +
      +
      +
      +
      +
      All Implemented Interfaces:
      +
      Serializable
      +
      +
      +
      public class RobotMagicValueException +extends RobotException
      +
      +
      See Also:
      +
      + +
      +
      +
      +
      + +
      +
      +
        + +
      • +
        +

        Constructor Details

        +
          +
        • +
          +

          RobotMagicValueException

          +
          public RobotMagicValueException(String message, + String name)
          +
          +
        • +
        +
        +
      • + +
      • +
        +

        Method Details

        +
          +
        • +
          +

          getRobotName

          +
          public String getRobotName()
          +
          +
        • +
        +
        +
      • +
      +
      + +
      +
      +
      + + diff --git a/Roboterfabrik/doc/tpe/exceptions/roboter/exceptions/class-use/RobotException.html b/Roboterfabrik/doc/tpe/exceptions/roboter/exceptions/class-use/RobotException.html new file mode 100644 index 0000000..65123bd --- /dev/null +++ b/Roboterfabrik/doc/tpe/exceptions/roboter/exceptions/class-use/RobotException.html @@ -0,0 +1,230 @@ + + + + +Uses of Class tpe.exceptions.roboter.exceptions.RobotException + + + + + + + + + + + + + + + +
      + +
      +
      +
      +

      Uses of Class
      tpe.exceptions.roboter.exceptions.RobotException

      +
      +
      Packages that use RobotException
      +
      +
      Package
      +
      Description
      + +
       
      + +
       
      + +
       
      + +
       
      + +
       
      + +
       
      +
      +
      + +
      +
      +
      +
      + + diff --git a/Roboterfabrik/doc/tpe/exceptions/roboter/exceptions/class-use/RobotIllegalStateException.html b/Roboterfabrik/doc/tpe/exceptions/roboter/exceptions/class-use/RobotIllegalStateException.html new file mode 100644 index 0000000..76907a2 --- /dev/null +++ b/Roboterfabrik/doc/tpe/exceptions/roboter/exceptions/class-use/RobotIllegalStateException.html @@ -0,0 +1,58 @@ + + + + +Uses of Class tpe.exceptions.roboter.exceptions.RobotIllegalStateException + + + + + + + + + + + + + + + +
      + +
      +
      +
      +

      Uses of Class
      tpe.exceptions.roboter.exceptions.RobotIllegalStateException

      +
      +No usage of tpe.exceptions.roboter.exceptions.RobotIllegalStateException
      +
      +
      + + diff --git a/Roboterfabrik/doc/tpe/exceptions/roboter/exceptions/class-use/RobotMagicValueException.html b/Roboterfabrik/doc/tpe/exceptions/roboter/exceptions/class-use/RobotMagicValueException.html new file mode 100644 index 0000000..6838581 --- /dev/null +++ b/Roboterfabrik/doc/tpe/exceptions/roboter/exceptions/class-use/RobotMagicValueException.html @@ -0,0 +1,58 @@ + + + + +Uses of Class tpe.exceptions.roboter.exceptions.RobotMagicValueException + + + + + + + + + + + + + + + +
      + +
      +
      +
      +

      Uses of Class
      tpe.exceptions.roboter.exceptions.RobotMagicValueException

      +
      +No usage of tpe.exceptions.roboter.exceptions.RobotMagicValueException
      +
      +
      + + diff --git a/Roboterfabrik/doc/tpe/exceptions/roboter/exceptions/package-summary.html b/Roboterfabrik/doc/tpe/exceptions/roboter/exceptions/package-summary.html new file mode 100644 index 0000000..b0bd2b5 --- /dev/null +++ b/Roboterfabrik/doc/tpe/exceptions/roboter/exceptions/package-summary.html @@ -0,0 +1,98 @@ + + + + +tpe.exceptions.roboter.exceptions + + + + + + + + + + + + + + + +
      + +
      +
      +
      +

      Package tpe.exceptions.roboter.exceptions

      +
      +
      +
      package tpe.exceptions.roboter.exceptions
      +
      + +
      +
      +
      +
      + + diff --git a/Roboterfabrik/doc/tpe/exceptions/roboter/exceptions/package-tree.html b/Roboterfabrik/doc/tpe/exceptions/roboter/exceptions/package-tree.html new file mode 100644 index 0000000..d082e25 --- /dev/null +++ b/Roboterfabrik/doc/tpe/exceptions/roboter/exceptions/package-tree.html @@ -0,0 +1,85 @@ + + + + +tpe.exceptions.roboter.exceptions Class Hierarchy + + + + + + + + + + + + + + + +
      + +
      +
      +
      +

      Hierarchy For Package tpe.exceptions.roboter.exceptions

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +
      +
      +
      +
      + + diff --git a/Roboterfabrik/doc/tpe/exceptions/roboter/exceptions/package-use.html b/Roboterfabrik/doc/tpe/exceptions/roboter/exceptions/package-use.html new file mode 100644 index 0000000..c69cf30 --- /dev/null +++ b/Roboterfabrik/doc/tpe/exceptions/roboter/exceptions/package-use.html @@ -0,0 +1,145 @@ + + + + +Uses of Package tpe.exceptions.roboter.exceptions + + + + + + + + + + + + + + + +
      + +
      +
      +
      +

      Uses of Package
      tpe.exceptions.roboter.exceptions

      +
      + +
      +
      Package
      +
      Description
      + +
       
      + +
       
      + +
       
      + +
       
      + +
       
      + +
       
      +
      +
      + +
      +
      +
      +
      + + diff --git a/Roboterfabrik/doc/tpe/exceptions/roboter/package-summary.html b/Roboterfabrik/doc/tpe/exceptions/roboter/package-summary.html new file mode 100644 index 0000000..3be1503 --- /dev/null +++ b/Roboterfabrik/doc/tpe/exceptions/roboter/package-summary.html @@ -0,0 +1,104 @@ + + + + +tpe.exceptions.roboter + + + + + + + + + + + + + + + +
      + +
      +
      +
      +

      Package tpe.exceptions.roboter

      +
      +
      +
      package tpe.exceptions.roboter
      +
      +
        +
      • + +
      • +
      • +
        +
        Interfaces
        +
        +
        Class
        +
        Description
        + +
        +
        Interface für Roboter.
        +
        + +
        +
        Das Interface repräsentiert einen einfachen Roboter mit seinen Funktionen.
        +
        + +
        +
        Das Interface repräsentiert den Befehlssatz eines einfachen Roboters.
        +
        +
        +
        +
      • +
      +
      +
      +
      +
      + + diff --git a/Roboterfabrik/doc/tpe/exceptions/roboter/package-tree.html b/Roboterfabrik/doc/tpe/exceptions/roboter/package-tree.html new file mode 100644 index 0000000..7dd7661 --- /dev/null +++ b/Roboterfabrik/doc/tpe/exceptions/roboter/package-tree.html @@ -0,0 +1,77 @@ + + + + +tpe.exceptions.roboter Class Hierarchy + + + + + + + + + + + + + + + +
      + +
      +
      +
      +

      Hierarchy For Package tpe.exceptions.roboter

      +Package Hierarchies: + +
      +
      +

      Interface Hierarchy

      + +
      +
      +
      +
      + + diff --git a/Roboterfabrik/doc/tpe/exceptions/roboter/package-use.html b/Roboterfabrik/doc/tpe/exceptions/roboter/package-use.html new file mode 100644 index 0000000..d458531 --- /dev/null +++ b/Roboterfabrik/doc/tpe/exceptions/roboter/package-use.html @@ -0,0 +1,109 @@ + + + + +Uses of Package tpe.exceptions.roboter + + + + + + + + + + + + + + + +
      + +
      +
      +
      +

      Uses of Package
      tpe.exceptions.roboter

      +
      +
      Packages that use tpe.exceptions.roboter
      +
      +
      Package
      +
      Description
      + +
       
      + +
       
      +
      +
      + +
      +
      +
      +
      + + diff --git a/Roboterfabrik/doc/type-search-index.js b/Roboterfabrik/doc/type-search-index.js new file mode 100644 index 0000000..f828396 --- /dev/null +++ b/Roboterfabrik/doc/type-search-index.js @@ -0,0 +1 @@ +typeSearchIndex = [{"l":"All Classes and Interfaces","u":"allclasses-index.html"},{"p":"Domäne","l":"C3PO"},{"p":"ui","l":"Factory"},{"p":"facade","l":"Factorysystem"},{"p":"main","l":"Main"},{"p":"Domäne","l":"Nexus6"},{"p":"Domäne","l":"R2D2"},{"p":"tpe.exceptions.roboter","l":"Robot"},{"p":"tpe.exceptions.roboter","l":"RobotControl"},{"p":"Domäne","l":"Roboter"},{"p":"tpe.exceptions.roboter.exceptions","l":"RobotException"},{"p":"Domäne","l":"RobotFactory"},{"p":"tpe.exceptions.roboter.exceptions","l":"RobotIllegalStateException"},{"p":"tpe.exceptions.roboter","l":"RobotInstructions"},{"p":"tpe.exceptions.roboter.exceptions","l":"RobotMagicValueException"},{"p":"Domäne","l":"RobotType"}];updateSearchResults(); \ No newline at end of file diff --git a/Roboterfabrik/doc/ui/Factory.html b/Roboterfabrik/doc/ui/Factory.html new file mode 100644 index 0000000..490a581 --- /dev/null +++ b/Roboterfabrik/doc/ui/Factory.html @@ -0,0 +1,133 @@ + + + + +Factory + + + + + + + + + + + + + + + +
      + +
      +
      + +
      +
      Package ui
      +

      Class Factory

      +
      +
      java.lang.Object +
      ui.Factory
      +
      +
      +
      +
      public class Factory +extends Object
      +
      +
      + +
      +
      + +
      + +
      +
      +
      + + diff --git a/Roboterfabrik/doc/ui/class-use/Factory.html b/Roboterfabrik/doc/ui/class-use/Factory.html new file mode 100644 index 0000000..39f0b8e --- /dev/null +++ b/Roboterfabrik/doc/ui/class-use/Factory.html @@ -0,0 +1,58 @@ + + + + +Uses of Class ui.Factory + + + + + + + + + + + + + + + +
      + +
      +
      +
      +

      Uses of Class
      ui.Factory

      +
      +No usage of ui.Factory
      +
      +
      + + diff --git a/Roboterfabrik/doc/ui/package-summary.html b/Roboterfabrik/doc/ui/package-summary.html new file mode 100644 index 0000000..c699488 --- /dev/null +++ b/Roboterfabrik/doc/ui/package-summary.html @@ -0,0 +1,83 @@ + + + + +ui + + + + + + + + + + + + + + + +
      + +
      +
      +
      +

      Package ui

      +
      +
      +
      package ui
      +
      +
        +
      • +
        +
        Classes
        +
        +
        Class
        +
        Description
        + +
         
        +
        +
        +
      • +
      +
      +
      +
      +
      + + diff --git a/Roboterfabrik/doc/ui/package-tree.html b/Roboterfabrik/doc/ui/package-tree.html new file mode 100644 index 0000000..6badc3b --- /dev/null +++ b/Roboterfabrik/doc/ui/package-tree.html @@ -0,0 +1,72 @@ + + + + +ui Class Hierarchy + + + + + + + + + + + + + + + +
      + +
      +
      +
      +

      Hierarchy For Package ui

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +
      +
      +
      +
      + + diff --git a/Roboterfabrik/doc/ui/package-use.html b/Roboterfabrik/doc/ui/package-use.html new file mode 100644 index 0000000..7f50b4e --- /dev/null +++ b/Roboterfabrik/doc/ui/package-use.html @@ -0,0 +1,58 @@ + + + + +Uses of Package ui + + + + + + + + + + + + + + + +
      + +
      +
      +
      +

      Uses of Package
      ui

      +
      +No usage of ui
      +
      +
      + + diff --git a/Roboterfabrik/src/Domäne/RobotFactory.java b/Roboterfabrik/src/Domäne/RobotFactory.java index e88546b..0fdc89a 100644 --- a/Roboterfabrik/src/Domäne/RobotFactory.java +++ b/Roboterfabrik/src/Domäne/RobotFactory.java @@ -4,16 +4,36 @@ import java.util.HashMap; import tpe.exceptions.roboter.exceptions.RobotException; +/** + * Factory-Klasse für R2D2 und C3PO + * + * @author Kai-Niklas Dippold + * + */ public class RobotFactory { private String name; private Roboter pris = Nexus6.getInstance(); private HashMap roboterLager = new HashMap<>(); + /** + * Benennt die RobotFactory und setzt Nexus-Roboter "Pris" ins Roboterlager + * + * @param name Name der RobotFactory + */ public RobotFactory(String name) { this.name = name; roboterLager.put(pris.getId(), pris); } + /** + * Erstellt neue Roboter nach Anforderungen, speichert diese im Roboterlager und + * gibt die Id des erstellten Roboters zurück + * + * @param robotType entweder R2D2 oder C3PO + * @param name Name des Roboters + * + * @return Gibt die ID des erstellten Roboters zurück. + */ public int addRobot(RobotType robotType, String name) { Roboter roboter; @@ -30,14 +50,32 @@ public class RobotFactory { return -1; } + /** + * Gibt den Namen der RobotFactory zurück. + * + * @return Name der RobotFactory + */ public String getName() { return name; } + /** + * Duchsucht das Roboterlager nach einem bestimmten Roboter + * + * @param id Id des Roboters + * @return Instanz des Roboters mit der gefragten Id + */ public Roboter findeRoboter(int id) { return roboterLager.get(id); } + /** + * Generiert eine Zahl innerhalb der gegebenen Parameter + * + * @param min Mindestgröße der Zahl + * @param max Maximalgröße der Zahl + * @return Zufallszahl innerhalb der Parameter + */ private int idVergeben(int min, int max) { int randomValue = (int) (Math.random() * (max - min)) + min; @@ -48,12 +86,25 @@ public class RobotFactory { return randomValue; } + /** + * Prüft ob ein Roboter ein- oder ausgeschaltet ist + * + * @param id Id des Roboters + * @return Zustand des Roboters + */ public boolean roboterZustand(int id) { Roboter r = findeRoboter(id); boolean zustand = r.isPowerOn(); return zustand; } + /** + * Schaltet einen Roboter ein wenn er ausgeschaltet ist und schaltet ihn aus + * wenn er eingeschaltet ist + * + * @param id Id des Roboters + * @return Zustand des Roboters + */ public boolean schalterAnAus(int id) { Roboter r = findeRoboter(id); r.triggerPowerSwitch(); @@ -61,6 +112,15 @@ public class RobotFactory { return zustand; } + /** + * Ruft die Methoden think() und speak() eines Roboters auf und gibt dessen + * Ausgabe wieder. + * + * @param id Id des Roboters + * @param zahlen Int-Array + * @return String mit dem Inhalt des gegebenen Arrays, nachdem es von dem + * Roboter sortiert wurde. + */ public String aufrufSpeakAndThink(int id, int[] zahlen) throws RobotException { Roboter r = findeRoboter(id); int[] sotiert = r.think(zahlen); @@ -69,11 +129,23 @@ public class RobotFactory { } + /** + * Gibt den letzten Fehler zurück, auf den der Roboter gestoßen ist + * + * @param id Id des Roboters + * @return Die RobotException welche im Roboter gespeichert ist + */ public RobotException letzterFehler(int id) { Roboter r = findeRoboter(id); return r.getLastException(); } + /** + * Gibt die Daten eines Roboters wieder + * + * @param id Id des Roboters + * @return String mit Typ, Namen und Id des Roboters + */ public String datenDesRoboters(int id) { Roboter r = findeRoboter(id); String robotType = r.getRobotType().toString(); @@ -84,10 +156,21 @@ public class RobotFactory { } + /** + * Gibt die Größe des Roboterlagers an. + * + * @return Größe des Roboterlagers + */ public int getRoboterLagerSize() { return roboterLager.size(); } + /** + * Überprüft ob das Lager einen bestimmten Roboter enthält. + * + * @param id Id des Roboters + * @return true oder false je nachdem ob der Roboter im Lager vorhanden ist + */ public boolean istDieserRoboterDa(int id) { return roboterLager.containsKey(id); } diff --git a/Roboterfabrik/src/facade/Factorysystem.java b/Roboterfabrik/src/facade/Factorysystem.java index 25ae7bf..9a3757b 100644 --- a/Roboterfabrik/src/facade/Factorysystem.java +++ b/Roboterfabrik/src/facade/Factorysystem.java @@ -4,13 +4,33 @@ import Domäne.RobotFactory; import Domäne.RobotType; import tpe.exceptions.roboter.exceptions.RobotException; +/** + * Factorysystem agiert als Fassade für RobotFactory + * + * @author Kai-Niklas Dippold + * + * + * + */ public class Factorysystem { private RobotFactory robotFactory; + /** + * Erstellt eine neue RobotFactory mit dem gegebenen Namen + * + * @param name Name der RobotFactory + */ public Factorysystem(String name) { this.robotFactory = new RobotFactory(name); } + /** + * Legt einen neuen Roboter je nach Auswahl mit dem gegebenen Namen an + * + * @param name Name des Roboters + * @param auswahl Bei 1 wird ein R2D2 erstellt, bei 2 ein C3PO. + * @return Gibt die ID des erstellten Roboters zurück + */ public int roboterAnlegen(String name, int auswahl) { RobotType robottype; if (auswahl == 1) { @@ -26,6 +46,13 @@ public class Factorysystem { } + /** + * Ruft die Methode roboterZustand(id) in der RobotFactory auf + * + * @see Domäne.RobotFactory#roboterZustand(int) + * @param id Id des Roboters + * @return Gibt die Wiedergabe von roboterZustand(id) zurück + */ public boolean zustandRoboter(int id) { return robotFactory.roboterZustand(id); }