Class Article

java.lang.Object
org.episteme.social.law.Article
All Implemented Interfaces:
Commented, Named

public class Article extends Object implements Named, Commented
A class representing a specific element or clause of a law, code, or constitution. Articles are the building blocks of legal frameworks.
Since:
1.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
  • Constructor Details

    • Article

      public Article(String name, String contents)
      Minimal constructor for legacy support.
    • Article

      public Article(Numbering numbering, String contents)
      Creates a new Article object with numbering and contents.
      Parameters:
      numbering - the numbering/index of the article
      contents - the textual content of the article
      Throws:
      IllegalArgumentException - if numbering or contents is null
    • Article

      public Article(Numbering numbering, String contents, Date date)
      Creates a new Article object with numbering, contents, and date.
      Parameters:
      numbering - the numbering/index of the article
      contents - the textual content of the article
      date - the date associated with the article
      Throws:
      IllegalArgumentException - if numbering or contents is null
    • Article

      public Article(String name, Numbering numbering, String contents, String comments, Date date)
      Creates a full Article object.
      Parameters:
      name - the name of the article
      numbering - the numbering/index of the article
      contents - the textual content of the article
      comments - interpretative comments or notes
      date - the date of the article
      Throws:
      IllegalArgumentException - if any argument is null
  • Method Details

    • getName

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

      public Numbering getNumbering()
      Returns the numbering or index of the article.
      Returns:
      the numbering
    • getContents

      public String getContents()
      Returns the text contents of the article.
      Returns:
      the contents
    • getDate

      public Date getDate()
      Returns the date associated with this article.
      Returns:
      the date
    • 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