Class Constitution

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

public class Constitution extends Object implements Named
A class representing the fundamental rules, form, structure, and activities of a given organization or nation.
Since:
1.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
  • Constructor Details

    • Constitution

      public Constitution(String name, Date date, List<Article> articles)
      Creates a new Constitution object.
      Parameters:
      name - the name of the constitution
      date - the date of adoption or proclamation
      articles - the set of articles defining the constitution
      Throws:
      IllegalArgumentException - if any argument is null or if the list contains non-Article entities
  • Method Details

    • getName

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

      public Date getDate()
      Returns the date when the constitution was established.
      Returns:
      the date
    • getArticles

      public List<Article> getArticles()
      Returns the list of articles in the constitution.
      Returns:
      the list of articles
    • addArticle

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

      public void removeArticle(Article article)
      Removes an article from the constitution. Note: Articles are rarely removed from a constitution; usually, they are amended.
      Parameters:
      article - the article to remove