All Implemented Interfaces:
Invalidator, Tatbestand, Iterable<Prüfungsfolgenelement>
Direct Known Subclasses:
Betrug, ErschleichenVonLeistungen, StraftatNichtVorliegend, StraftatVorliegend

public abstract class Straftat extends TatbestandPrüfungsfolgeUndWahrheitswert
allgemeiner Aufbau der Prüfung einer Straftat
Author:
Till Menke
  • Constructor Details

    • Straftat

      public Straftat()
  • Method Details

    • getObersatz

      public String getObersatz() throws EingabeFehltException
      Description copied from interface: Tatbestand
      Basisschnittstelle
      Returns:
      Zeichenkette mit dem Obersatz
      Throws:
      EingabeFehltException - wenn für die Bearbeitung weitere Informationen erforderlich sind; Anzahl kann evtl. durch vorherige Abarbeitung der mit previewExceptions() ermittelten Ausnahmen vermindert werden
    • getDefinition

      public String getDefinition() throws EingabeFehltException
      Description copied from interface: Tatbestand
      Basisschnittstelle
      Returns:
      Zeichenkette mit der Definition
      Throws:
      EingabeFehltException - wenn für die Bearbeitung weitere Informationen erforderlich sind; Anzahl kann evtl. durch vorherige Abarbeitung der mit previewExceptions() ermittelten Ausnahmen vermindert werden
    • getTatbestandsmerkmale

      public Straftatbestandsmerkmal[] getTatbestandsmerkmale()
      Returns:
      Liste der verarbeiteten Straftatbestandsmerkmale
    • setSachverhalt

      public void setSachverhalt(Sachverhalt sachverhalt)
      Description copied from class: TatbestandPrüfungsfolge
      injiziert eine Referenz auf den verwendeten Sachverhalt; dadurch wird die Prüfungsfolge neu geladen und allen Prüfungspunkten wird die Änderung mitgeteilt. ACHTUNG: Beim Überschreiben unbedingt super.setSachverhalt(sachverhalt) (also diese Methode) aufrufen, damit notwendigenfalls der geänderte Sachverhalt auch in den einzelnen Prüfungspunkten zugänglich ist.
      Specified by:
      setSachverhalt in interface Tatbestand
      Overrides:
      setSachverhalt in class TatbestandPrüfungsfolge
      Parameters:
      sachverhalt - neue Referenz
    • getTatzeitpunkt

      public ZonedDateTime getTatzeitpunkt() throws SachverhaltsdetailFehltException
      Returns:
      Tatzeitpunkt
      Throws:
      SachverhaltsdetailFehltException - wenn der Sachverhalt noch keine Tatzeitermittlung erlaubt
    • isSubsidiär

      public abstract boolean isSubsidiär(Straftat andereTat) throws EingabeFehltException
      prüft, ob diese Straftat subsidiär (untechnisch gesprochen, meint jede Form der Gesetzeskonkurrenz) zu einer anderen Tat ist
      Parameters:
      andereTat - die Tat, zu welcher die Subsidiarität geprüft werden soll
      Returns:
      Prüfungsergebnis
      Throws:
      EingabeFehltException - wenn die Prüfung aufgrund fehlender Benutzereingaben noch nicht möglich ist
    • getStraferwartung

      public abstract int getStraferwartung() throws EingabeFehltException
      prüft, welche Straferwartung diese Straftat hat (wichtig für Idealkonkurrenz)
      Returns:
      Straferwartung in Monaten
      Throws:
      EingabeFehltException - wenn die Prüfung aufgrund fehlender Benutzereingaben noch nicht möglich ist