Class Treaty

java.lang.Object
org.episteme.social.law.Treaty
All Implemented Interfaces:
Named

public class Treaty extends Object implements Named
Represents a formal agreement between multiple human groups (nations, organizations, etc.). A treaty consists of participants (groups) and a collection of articles.
Since:
1.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
  • Constructor Details

  • Method Details

    • getName

      public String getName()
      Returns the name of the treaty.
      Specified by:
      getName in interface Named
      Returns:
      the name
    • getDate

      public Date getDate()
      Returns the signing date.
      Returns:
      the date
    • getGroups

      public Set<HumanGroup> getGroups()
      Returns an unmodifiable view of the participating groups.
      Returns:
      the groups
    • addGroup

      public void addGroup(HumanGroup group)
      Adds a group to the treaty.
      Parameters:
      group - the group to add
      Throws:
      NullPointerException - if group is null
    • removeGroup

      public void removeGroup(HumanGroup group)
      Removes a group from the treaty.
      Parameters:
      group - the group to remove
    • getArticles

      public List<Article> getArticles()
      Returns an unmodifiable view of the treaty articles.
      Returns:
      the articles
    • addArticle

      public void addArticle(Article article)
      Adds an article to the treaty.
      Parameters:
      article - the article to add
      Throws:
      NullPointerException - if article is null
    • removeArticle

      public void removeArticle(Article article)
      Removes an article from the treaty.
      Parameters:
      article - the article to remove