Module jonix.onix3

Class DescriptiveDetail

java.lang.Object
com.tectonica.jonix.onix3.DescriptiveDetail
All Implemented Interfaces:
OnixComposite, OnixComposite.OnixSuperComposite, OnixTag, Serializable

public class DescriptiveDetail extends Object implements OnixComposite.OnixSuperComposite, Serializable

Descriptive detail composite

The descriptive detail block covers data Groups P.3 to P.13, all of which are essentially part of the factual description of the form and content of a product. The block as a whole is non-repeating. It is mandatory in any <Product> record unless the <NotificationType> in Group P.1 indicates that the record is an update notice which carries only those blocks in which changes have occurred.

Reference name <DescriptiveDetail>
Short tag <descriptivedetail>
Cardinality 0…1

This tag may be included in the following composites:

Possible placements within ONIX message:

See Also:
  • Field Details

  • Constructor Details

    • DescriptiveDetail

      public DescriptiveDetail()
    • DescriptiveDetail

      public DescriptiveDetail(Element element)
  • Method Details

    • _initialize

      public void _initialize()
      Description copied from interface: OnixComposite
      This is an internal API. Since Jonix 8.0, composite objects are being populated lazily. This method initiates the population process, and is invoked internally by the accessor APIs of the composites
      Specified by:
      _initialize in interface OnixComposite
    • exists

      public boolean exists()
      Description copied from interface: OnixTag
      indicates whether this tag exists in the ONIX record
      Specified by:
      exists in interface OnixTag
      Returns:
      whether this tag (<DescriptiveDetail> or <descriptivedetail>) is explicitly provided in the ONIX XML
    • ifExists

      public void ifExists(Consumer<DescriptiveDetail> action)
    • getXmlElement

      public Element getXmlElement()
      Description copied from interface: OnixComposite
      For advanced use-cases only.
      Specified by:
      getXmlElement in interface OnixComposite
      Returns:
      native representation of the XML element underlying to this tag
    • productComposition

      public ProductComposition productComposition()

      An ONIX code which indicates whether a product consists of a single item or multiple items or components. Mandatory in an occurrence of <DescriptiveDetail>, and non-repeating.

      Jonix-Comment: this field is required
    • productForm

      public ProductForm productForm()

      An ONIX code which indicates the primary form of a product. Mandatory in an occurrence of <DescriptiveDetail>, and non-repeating.

      Note that in ONIX 3.0 and later, the handling of multiple-item and multi-component products requires that the form of the contained items or components is specified only in the <ProductPart> composite (equivalent to <Contained Item> in earlier releases of ONIX). <ProductPart> forms Group P.4 and must be included for full description of any multiple-item or multi-component product.

      Jonix-Comment: this field is required
    • titleDetails

      public ListOfOnixComposite<TitleDetail> titleDetails()

      A group of data elements which together give the text of a title and specify its type. At least one title detail element is mandatory in each occurrence of the <DescriptiveDetail> composite, to give the primary form of the product title. The composite is repeatable with different title types.

      Jonix-Comment: this list is required to contain at least one item
    • contributors

      public ListOfOnixComposite<Contributor> contributors()

      A group of data elements which together describe a personal or corporate contributor to the product. Optional, and repeatable to describe multiple contributors.

      Jonix-Comment: this list is required to contain at least one item
    • productPackaging

      public ProductPackaging productPackaging()

      An ONIX code which indicates the type of outer packaging used for the product. Optional and non-repeating.

      Jonix-Comment: this field is optional
    • tradeCategory

      public TradeCategory tradeCategory()

      An ONIX code which indicates a trade category which is somewhat related to, but not properly an attribute of, product form. Optional and non-repeating.

      Jonix-Comment: this field is optional
    • primaryContentType

      public PrimaryContentType primaryContentType()

      An ONIX code which indicates the primary or only content type included in a product. The element is intended to be used in particular for digital products, when the sender wishes to make it clear that one of a number of content types (eg text, audio, video) is the primary type for the product. Other content types may be specified in the <ProductContentType>. Optional and non-repeating.

      Jonix-Comment: this field is optional
    • countryOfManufacture

      public CountryOfManufacture countryOfManufacture()

      An ONIX code identifying the country of manufacture of a single-item product, or of a multiple-item product when all items are manufactured in the same country. This information is needed in some countries to meet regulatory requirements. Optional and non-repeating.

      Jonix-Comment: this field is optional
    • noCollection

      public NoCollection noCollection()

      An empty element that provides a positive indication that a product does not belong to a collection (a ‘set’ or ‘series’). This element is intended to be used in an ONIX accreditation scheme to confirm that collection information is being consistently supplied in publisher ONIX feeds. Optional and non-repeating. Must only be sent in a record that has no instances of the <Collection> composite and has no collection level title elements in Group P.6.

      Jonix-Comment: this field is optional
    • isNoCollection

      public boolean isNoCollection()
    • thesisType

      public ThesisType thesisType()

      An ONIX code identifying a thesis type, when the ONIX record describes an item which was originally presented as an academic thesis or dissertation. Optional and non-repeating.

      Jonix-Comment: this field is optional
    • thesisPresentedTo

      public ThesisPresentedTo thesisPresentedTo()

      The name of an academic institution to which a thesis was presented. Optional and non-repeating, but if this element is present, <ThesisType> must also be present.

      Jonix-Comment: this field is optional
    • thesisYear

      public ThesisYear thesisYear()

      The year in which a thesis was presented. Optional and non-repeating, but if this element is present, <ThesisType> must also be present.

      Jonix-Comment: this field is optional
    • noContributor

      public NoContributor noContributor()

      An empty element that provides a positive indication that a product has no stated authorship. Intended to be used in an ONIX accreditation scheme to confirm that author information is being consistently supplied in publisher ONIX feeds. Optional and non-repeating. Must only be sent in a record that has no other elements from Group P.7.

      Jonix-Comment: this field is optional
    • isNoContributor

      public boolean isNoContributor()
    • editionNumber

      public EditionNumber editionNumber()

      The number of a numbered edition. Optional and non-repeating. Normally sent only for the second and subsequent editions, but by agreement between parties to an ONIX exchange or when a first and a subsequent edition are available at the same time, a first edition may be explicitly numbered.

      Jonix-Comment: this field is optional
    • editionVersionNumber

      public EditionVersionNumber editionVersionNumber()

      The number of a numbered revision within an edition number. To be used only where a publisher uses such two-level numbering to indicate revisions which do not constitute a new edition under a new ISBN or other distinctive product identifier. Optional and non-repeating. If this field is used, an <EditionNumber> must also be present.

      Jonix-Comment: this field is optional
    • noEdition

      public NoEdition noEdition()

      An empty element that provides a positive indication that a product does not carry any edition information. Intended to be used in an ONIX accreditation scheme to confirm that edition information is being consistently supplied in publisher ONIX feeds. Optional and non-repeating. Must only be sent in a record that has no instances of any of the four preceding Edition elements.

      Jonix-Comment: this field is optional
    • isNoEdition

      public boolean isNoEdition()
    • religiousText

      public ReligiousText religiousText()

      An optional, non-repeating, group of data elements which together describe features of the content of an edition of a religious text, and intended to meet the special needs of religious publishers and booksellers. The <ReligiousText> composite may carry either a <Bible> composite or a <ReligiousTextIdentifier> element accompanied by multiple repeats of the <ReligiousTextFeature> composite. This approach is adopted to enable other devotional texts to be included if need arises without requiring a new ONIX release.

      Jonix-Comment: this field is optional
    • illustrated

      public Illustrated illustrated()

      An ONIX code indicating whether a book or other textual (usually printed) product has illustrations. The more informative free text field <IllustrationsNote> and/or the <AncillaryContent> composite are strongly preferred. This element has been added specifically to cater for a situation where a sender of product information maintains only a yes/no flag, and it should not otherwise be used. Optional and non-repeating.

      Jonix-Comment: this field is optional
    • numberOfIllustrations

      public NumberOfIllustrations numberOfIllustrations()

      The total number of illustrations in a book or other printed product. The more informative free text field <IllustrationsNote> and/or the <AncillaryContent> composite are strongly preferred, but where a sender of product information maintains only a simple numeric field, the <NumberOfIllustrations> element may be used. Optional and non-repeating.

      Jonix-Comment: this field is optional
    • productFormDetails

      An ONIX code which provides added detail of the medium and/or format of the product. Optional, and repeatable in order to provide multiple additional details.

      Jonix-Comment: this list may be empty
    • productFormFeatures

      An optional group of data elements which together describe an aspect of product form that is too specific to be covered in the <ProductForm> and <ProductFormDetail> elements. Repeatable in order to describe different aspects of the product form.

      Jonix-Comment: this list may be empty
    • productFormDescriptions

      public ListOfOnixElement<ProductFormDescription,String> productFormDescriptions()

      If product form codes do not adequately describe the product, a short text description may be added to give a more detailed specification of the product form. The field is optional, and repeatable to provide parallel descriptions in multiple languages. The language attribute is optional for a single instance of <ProductFormDescription>, but must be included in each instance if <ProductFormDescription> is repeated to provide parallel descriptions in multiple languages.

      Jonix-Comment: this list may be empty
    • productContentTypes

      An ONIX code which indicates a content type included in a product. The element is intended to be used in particular for digital products, to specify content types other than the primary type, or to list content types when none is singled out as the primary type. Optional, and repeatable to list multiple content types.

      Jonix-Comment: this list may be empty
    • measures

      An optional group of data elements which together identify a measurement and the units in which it is expressed; used to specify the overall dimensions of a physical product including its packaging (if any). Repeatable to provide multiple combinations of dimension and unit.

      Jonix-Comment: this list may be empty
    • epubTechnicalProtections

      An ONIX code specifying whether a digital product has DRM or other technical protection features. Optional, and repeatable if a product has two or more kinds of protection (ie different parts of a product are protected in different ways).

      Jonix-Comment: this list may be empty
    • epubUsageConstraints

      public ListOfOnixComposite<EpubUsageConstraint> epubUsageConstraints()

      An optional group of data elements which together describe a usage constraint on a digital product (or the absence of such a constraint), whether enforced by DRM technical protection, inherent in the platform used, or specified by license agreement. Repeatable in order to describe multiple constraints on usage.

      Jonix-Comment: this list may be empty
    • epubLicenses

      Jonix-Comment: this list may be empty
    • mapScales

      public ListOfOnixElement<MapScale,Integer> mapScales()

      The scale of a map, expressed as a ratio 1:nnnnn; only the number nnnnn is carried in the data element, without spaces or punctuation. Optional, and repeatable if a product comprises maps with two or more different scales.

      Jonix-Comment: this list may be empty
    • productClassifications

      An optional group of data elements which together define a product classification (not to be confused with a subject classification). The intended use is to enable national or international trade classifications (also known as commodity codes) to be carried in an ONIX record. The composite is repeatable if parts of the product are classified differently within a single product classification scheme, or to provide classification codes from multiple classification schemes.

      Jonix-Comment: this list may be empty
    • productParts

      public ListOfOnixComposite<ProductPart> productParts()

      A group of data elements which together describe an item which is part of or contained within a multiple-component or multiple-item product or a trade pack. The composite must be used with all multi-component or multi-item products and packs to specify (for example) the item(s) and item quantities included in a combined book plus audiobook product, a multi-volume set, a filled dumpbin, or a classroom pack. In other cases, where parts are not individually identified, it is used to state the product form(s) and the quantity or quantities of each form contained within the product. The composite must be repeated for each individually-identified item or component, or for each unidentified type of item or component.

      Each instance of the <ProductPart> composite must carry a <ProductForm> code and a quantity, even if the quantity is ‘1’. If the composite refers to a number of copies of a single item, the quantity must be sent as <NumberOfCopies>, normally accompanied by a <ProductIdentifier>. If the composite refers to a number of different items of the same form, without identifying them individually, the quantity must be sent as <NumberOfItemsOfThisForm>.

      Jonix-Comment: this list may be empty
    • collections

      public ListOfOnixComposite<Collection> collections()

      An optional group of data elements which carry attributes of a collection of which the product is part. (For a publisher collection, these attributes may or may not include the collection title.) The composite is repeatable, to provide details when the product belongs to multiple collections.

      Collection-related data elements within a <Collection> composite that does not carry collection title information must relate to a publisher collection whose title is included in Group P.6.

      Jonix-Comment: this list may be empty
    • contributorStatements

      public ListOfOnixElement<ContributorStatement,String> contributorStatements()

      Free text showing how the authorship should be described in an online display, when a standard concatenation of individual contributor elements would not give a satisfactory presentation. Optional but must only be used if one or more instances of <Contributor> are present, and repeatable if parallel text is provided in multiple languages. The language attribute is optional for a single instance of <ContributorStatement>, but must be included in each instance if <ContributorStatement> is repeated. When the <ContributorStatement> field is sent, the receiver should use it to replace all name detail sent in the <Contributor> composite for display purposes only. It does not replace the <Contributor> composite (or any element within it) for individual contributors. The individual name detail must also be sent in the <Contributor> composite for indexing and retrieval purposes.

      Jonix-Comment: this list may be empty
    • events

      public ListOfOnixComposite<Event> events()

      A group of data elements which together describe an event to which the product is related. Optional, and repeatable if the product contains material from or is related to two or more events.

      Jonix-Comment: this list may be empty
    • editionTypes

      An ONIX code, indicating the type of a version or edition. Optional, and repeatable if the product has characteristics of two or more types (eg ‘revised’ and ‘annotated’).

      Jonix-Comment: this list may be empty
    • editionStatements

      public ListOfOnixElement<EditionStatement,String> editionStatements()

      A short free-text description of a version or edition. Optional, and repeatable if parallel text is provided in multiple languages. The language attribute is optional for a single instance of <EditionStatement>, but must be included in each instance if <EditionStatement> is repeated. When used, an <EditionStatement> must be complete in itself, ie it should not be treated as merely supplementary to an <EditionType> or an <EditionNumber>, nor as a replacement for them. Appropriate edition type and number must also be sent, for indexing and retrieval. An <EditionStatement> should be strictly limited to describing features of the content of the edition, and should not include aspects such as rights or market restrictions which are properly covered elsewhere in the ONIX record.

      Jonix-Comment: this list may be empty
    • languages

      A group of data elements which together represent a language, and specify its role and, where required, whether it is a country variant. Optional, and repeatable to specify multiple languages and their various roles.

      Jonix-Comment: this list may be empty
    • extents

      A group of data elements which together describe an extent pertaining to the product. Optional, but in practice required for most products, eg to give the number of pages in a printed book or paginated e‑book, or to give the running time of an audiobook. Repeatable to specify different extent types or units.

      Jonix-Comment: this list may be empty
    • illustrationsNotes

      public ListOfOnixElement<IllustrationsNote,String> illustrationsNotes()

      For books or other text media only, this data element carries text stating the number and type of illustrations. The text may also include other content items, eg maps, bibliography, tables, index etc. Optional, and repeatable if parallel notes are provided in multiple languages. The language attribute is optional for a single instance of <IllustrationsNote>, but must be included in each instance if <IllustrationsNote> is repeated.

      Jonix-Comment: this list may be empty
    • ancillaryContents

      A group of data elements which together specify the number of illustrations or other content items of a stated type which the product carries. Use of the <AncillaryContent> composite is optional, but is repeatable if necessary to specify different types of content items.

      Jonix-Comment: this list may be empty
    • subjects

      An optional group of data elements which together specify a subject classification, category or subject heading. Repeatable, both to express multiple subject categories or headings in a scheme, and to specify subjects using multiple schemes.

      Jonix-Comment: this list may be empty
    • nameAsSubjects

      public ListOfOnixComposite<NameAsSubject> nameAsSubjects()

      An optional group of data elements which together represent the name of a person or organization – real or fictional – that is part of the subject of a product. Repeatable in order to name multiple persons or organizations.

      Each instance of the composite must contain either:

      • one or more of the forms of representation of a person name, with or without an occurrence of the <NameIdentifier> composite; or
      • one or more of the forms of representation of a corporate name, with or without an occurrence of the <NameIdentifier> composite; or
      • an occurrence of the <NameIdentifier> composite without any accompanying name element(s).

      The name of a person (not of a corporation) may optionally be followed by details of that person’s professional affiliation.

      Jonix-Comment: this list may be empty
    • audiences

      An optional group of data elements which together describe an audience to which the product is directed. Repeatable, both to specify multiple distinct audiences, and to express audiences using multiple schemes.

      Jonix-Comment: this list may be empty
    • audienceRanges

      An optional group of data elements which together describe an audience or readership range for which a product is intended. The composite can carry a single value from, to, or exact, or a pair of values with an explicit from and to. Repeatable to specify the audience range with different qualifiers.

      Jonix-Comment: this list may be empty
    • audienceDescriptions

      public ListOfOnixElement<AudienceDescription,String> audienceDescriptions()

      Free text describing the audience for which a product is intended. Optional, and repeatable if parallel descriptive text is provided in multiple languages. The language attribute is optional for a single instance of <AudienceDescription>, but must be included in each instance if <AudienceDescription> is repeated.

      Jonix-Comment: this list may be empty
    • complexitys

      An optional group of data elements which together describe the level of complexity of a text. Repeatable to specify the complexity using different schemes.

      Jonix-Comment: this list may be empty