Class LawSuitSituation

All Implemented Interfaces:
Serializable, Commented, ComprehensiveIdentification, Identified<Identification>, Named, Positioned<Place>

public class LawSuitSituation extends WorkSituation
Represents the process and context of a lawsuit or trial. Since legal processes vary greatly between jurisdictions, this class provides a generalized structure for organizing evidence, transcripts, roles, and outcomes.
Since:
1.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
See Also:
  • Constructor Details

    • LawSuitSituation

      public LawSuitSituation(Identification identification)
      Creates a new LawSuitSituation with a specific identification.
      Parameters:
      identification - the unique identifier for this situation
    • LawSuitSituation

      public LawSuitSituation(String name, String comments, Identification identification)
      Creates a new LawSuitSituation with specific name, comments, and identification.
      Parameters:
      name - the name of the lawsuit
      comments - additional comments or context
      identification - the unique identification object
  • Method Details

    • getIdentification

      public Identification getIdentification()
      Overrides:
      getIdentification in class Situation
    • getId

      public Identification getId()
      Description copied from interface: Identified
      Returns the unique identifier of this entity.
      Specified by:
      getId in interface Identified<Identification>
      Overrides:
      getId in class Situation
      Returns:
      the identifier
    • addJudge

      public void addJudge(Individual individual, Administration administration)
      Adds a judge to the lawsuit.
      Parameters:
      individual - the individual taking the role
      administration - the judicial administration
    • addProsecutor

      public void addProsecutor(Individual individual, Administration administration)
      Adds a prosecutor to the lawsuit.
      Parameters:
      individual - the individual taking the role
      administration - the judicial administration
    • addLawyer

      public void addLawyer(Individual individual, Administration administration)
      Adds a lawyer to the lawsuit.
      Parameters:
      individual - the individual taking the role
      administration - the judicial administration
    • addJuryMember

      public void addJuryMember(Individual individual, Administration administration)
      Adds a jury member to the lawsuit.
      Parameters:
      individual - the individual taking the role
      administration - the judicial administration
    • addPlaintiff

      public void addPlaintiff(Individual individual)
      Adds a plaintiff to the lawsuit.
      Parameters:
      individual - the individual taking the role
    • addDefendant

      public void addDefendant(Individual individual)
      Adds a defendant to the lawsuit.
      Parameters:
      individual - the individual taking the role
    • addWitness

      public void addWitness(Individual individual)
      Adds a witness to the lawsuit.
      Parameters:
      individual - the individual taking the role
    • getEvidences

      public Set<MaterialResource> getEvidences()
      Returns the set of evidences (material resources) associated with the case.
      Returns:
      a set of evidences
    • setEvidences

      public void setEvidences(Set<MaterialResource> evidences)
      Sets the set of evidences for this case.
      Parameters:
      evidences - a set of MaterialResource objects
      Throws:
      IllegalArgumentException - if the set is null or contains non-MaterialResource elements
    • getTranscripts

      public List<String> getTranscripts()
      Returns the list of transcripts for the proceeding.
      Returns:
      the list of transcript strings
    • addTranscript

      public void addTranscript(String transcript)
      Adds a new transcript to the record.
      Parameters:
      transcript - the transcript content
      Throws:
      IllegalArgumentException - if transcript is null
    • removeTranscript

      public void removeTranscript(String transcript)
      Removes a specific transcript from the record.
      Parameters:
      transcript - the transcript to remove
    • removeLastTranscript

      public void removeLastTranscript()
      Removes the most recent transcript from the record.
    • setTranscripts

      public void setTranscripts(List<String> transcripts)
      Sets the complete list of transcripts.
      Parameters:
      transcripts - a list of transcript strings
      Throws:
      IllegalArgumentException - if the list is null or contains non-string elements
    • getSentence

      public String getSentence()
      Returns the final sentence or outcome of the lawsuit.
      Returns:
      the sentence string
    • setSentence

      public void setSentence(String sentence)
      Sets the final sentence or outcome. This can only be called once if the case is not yet over.
      Parameters:
      sentence - the final outcome description
      Throws:
      IllegalArgumentException - if the sentence is empty or already set
    • isOver

      public boolean isOver()
      Checks if the lawsuit or trial is over (i.e., a sentence has been set).
      Returns:
      true if the case is concluded