Class Conflict

java.lang.Object
org.episteme.social.politics.Conflict
All Implemented Interfaces:
Serializable, Commented, Named, Positioned<Place>, Temporal<TimeCoordinate>

public class Conflict extends Object implements Named, Commented, Positioned<Place>, Temporal<TimeCoordinate>, Serializable
Represents a political or social conflict between multiple populations or groups. Tracks temporal span, geographical location, and participating parties. * @version 1.1
Since:
1.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
See Also:
  • Constructor Details

    • Conflict

      public Conflict(String name, Set<PsychologicalGroup> involvedGroups, Place place, TimeCoordinate startingDate)
      Creates a new Conflict.
      Parameters:
      name - the name of the conflict
      involvedGroups - groups participating in the conflict
      place - the primary location of the conflict
      startingDate - the timestamp when the conflict began
      Throws:
      NullPointerException - if any mandatory argument is null
      IllegalArgumentException - if name is empty or no groups are involved
  • Method Details

    • getName

      public String getName()
      Specified by:
      getName in interface Named
    • setName

      public void setName(String name)
      Updates the name of the conflict.
      Parameters:
      name - the new name
    • getGroups

      public Set<PsychologicalGroup> getGroups()
      Returns an unmodifiable set of participating groups.
      Returns:
      the involved groups
    • getPosition

      public Place getPosition()
      Description copied from interface: Positioned
      Returns the position of this entity.
      Specified by:
      getPosition in interface Positioned<Place>
      Returns:
      the position.
    • getPlace

      public Place getPlace()
      Returns the primary geographical location.
      Returns:
      the place
    • setPlace

      public void setPlace(Place place)
      Updates the conflict's primary location.
      Parameters:
      place - the new location
    • getWhen

      public TimeCoordinate getWhen()
      Description copied from interface: Temporal
      Returns the temporal position (when) of this entity.
      Specified by:
      getWhen in interface Temporal<TimeCoordinate>
      Returns:
      the temporal position.
    • getStartingDate

      public TimeCoordinate getStartingDate()
      Returns the exact starting timestamp.
      Returns:
      starting date
    • getEndDate

      public TimeCoordinate getEndDate()
      Returns the timestamp when the conflict was resolved or ceased.
      Returns:
      end date, or null if ongoing
    • setEndDate

      public void setEndDate(TimeCoordinate endDate)
      Sets the timestamp for conflict resolution.
      Parameters:
      endDate - the resolution date
    • getComments

      public String getComments()
      Description copied from interface: Commented
      Returns the comments associated with this object. Maps to a "comments" trait.
      Specified by:
      getComments in interface Commented
      Returns:
      the comments
    • setComments

      public void setComments(String comments)
      Description copied from interface: Commented
      Sets the comments for this object. Maps to a "comments" trait.
      Specified by:
      setComments in interface Commented
      Parameters:
      comments - the comments to set
    • getTraits

      public Map<String,Object> getTraits()
      Description copied from interface: Commented
      Returns the map of traits/attributes for this object. Implementations should provide a mutable map to support default methods.
      Specified by:
      getTraits in interface Commented
      Returns:
      the traits map
    • toString

      public String toString()
      Overrides:
      toString in class Object