Record Class BibliographicalNotice

java.lang.Object
java.lang.Record
org.episteme.core.bibliography.BibliographicalNotice
All Implemented Interfaces:
Serializable, Identified<Identification>

public record BibliographicalNotice(Identification id, String title, List<String> authors, String publisher, String publicationYear, String type, String source, String volume, String issue, String pages, String doi, String isbn, String issn, String abstractText, List<String> keywords, Map<String,String> additionalMetadata) extends Record implements Identified<Identification>, Serializable
Represents a detailed bibliographical notice for a work (book, article, etc.).

This record provides a rich set of metadata according to modern library standards.

Since:
1.1
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
See Also:
  • Constructor Details

    • BibliographicalNotice

      public BibliographicalNotice(String id, String title, List<String> authors, String publisher, String publicationYear, String type)
      Helper constructor for String IDs.
    • BibliographicalNotice

      public BibliographicalNotice(Identification id, String title, List<String> authors, String publisher, String publicationYear, String type, String source, String volume, String issue, String pages, String doi, String isbn, String issn, String abstractText, List<String> keywords, Map<String,String> additionalMetadata)
      Creates an instance of a BibliographicalNotice record class.
      Parameters:
      id - the value for the id record component
      title - the value for the title record component
      authors - the value for the authors record component
      publisher - the value for the publisher record component
      publicationYear - the value for the publicationYear record component
      type - the value for the type record component
      source - the value for the source record component
      volume - the value for the volume record component
      issue - the value for the issue record component
      pages - the value for the pages record component
      doi - the value for the doi record component
      isbn - the value for the isbn record component
      issn - the value for the issn record component
      abstractText - the value for the abstractText record component
      keywords - the value for the keywords record component
      additionalMetadata - the value for the additionalMetadata record component
  • Method Details

    • getId

      public Identification getId()
      Description copied from interface: Identified
      Returns the unique identifier of this entity.
      Specified by:
      getId in interface Identified<Identification>
      Returns:
      the identifier
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with Objects::equals(Object,Object).
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • id

      public Identification id()
      Returns the value of the id record component.
      Returns:
      the value of the id record component
    • title

      public String title()
      Returns the value of the title record component.
      Returns:
      the value of the title record component
    • authors

      public List<String> authors()
      Returns the value of the authors record component.
      Returns:
      the value of the authors record component
    • publisher

      public String publisher()
      Returns the value of the publisher record component.
      Returns:
      the value of the publisher record component
    • publicationYear

      public String publicationYear()
      Returns the value of the publicationYear record component.
      Returns:
      the value of the publicationYear record component
    • type

      public String type()
      Returns the value of the type record component.
      Returns:
      the value of the type record component
    • source

      public String source()
      Returns the value of the source record component.
      Returns:
      the value of the source record component
    • volume

      public String volume()
      Returns the value of the volume record component.
      Returns:
      the value of the volume record component
    • issue

      public String issue()
      Returns the value of the issue record component.
      Returns:
      the value of the issue record component
    • pages

      public String pages()
      Returns the value of the pages record component.
      Returns:
      the value of the pages record component
    • doi

      public String doi()
      Returns the value of the doi record component.
      Returns:
      the value of the doi record component
    • isbn

      public String isbn()
      Returns the value of the isbn record component.
      Returns:
      the value of the isbn record component
    • issn

      public String issn()
      Returns the value of the issn record component.
      Returns:
      the value of the issn record component
    • abstractText

      public String abstractText()
      Returns the value of the abstractText record component.
      Returns:
      the value of the abstractText record component
    • keywords

      public List<String> keywords()
      Returns the value of the keywords record component.
      Returns:
      the value of the keywords record component
    • additionalMetadata

      public Map<String,String> additionalMetadata()
      Returns the value of the additionalMetadata record component.
      Returns:
      the value of the additionalMetadata record component