Class Witness

java.lang.Object
org.episteme.social.sociology.Role
org.episteme.social.law.Witness
All Implemented Interfaces:
Serializable, Commented, ComprehensiveIdentification, Identified<Identification>, Named, Temporal<TimeCoordinate>

public class Witness extends Role
Represents a witness in a lawsuit, who provides testimony based on what they observed. A witness can be associated with specific parties (plaintiffs or defendants) they are assisting.
Since:
1.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
See Also:
  • Constructor Details

    • Witness

      public Witness(Individual individual, LawSuitSituation lawSuitSituation)
      Creates a new Witness role for an individual.
      Parameters:
      individual - the individual taking on the role
      lawSuitSituation - the lawsuit context
  • Method Details

    • getClients

      public Set<Role> getClients()
      Returns the set of parties (Plaintiffs or Defendants) that this witness is testifying for.
      Returns:
      a set of parties
    • setClients

      public void setClients(Set<Role> parties)
      Sets the parties that this witness is testifying for.
      Parameters:
      parties - a set of Roll objects representing the parties
      Throws:
      IllegalArgumentException - if parties is null or contains unauthorized roles