Module jonix.onix3

Class BodyManifest

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

public class BodyManifest extends Object implements OnixComposite.OnixSuperComposite, Serializable

Body manifest composite

A group of data elements which together provide manifest details for the body of a Product or Product part. These details include:

  • technical specifications for the body;
  • details of the file resources required to create the body.

Note that the high-level specifications such as the Product form and size are carried in Block 1 – the manifest specifications are more detailed in nature, and must be consistent with the high-level specifications.

Technical specifications in the manifest can be provided either as a pre-defined and named ‘bundle’ encompassing all the required technical details, and/or as a set of individually-specified details. Bundle names are inevitably proprietary. It is possible to provide two or more bundle names if, for example, a physical book is set up for on-demand manufacturing by multiple POD suppliers, and a supplier who does not pre-define bundles can use the individually-specified details.

The composite is mandatory and is not repeatable.

Reference name <BodyManifest>
Short tag <bodymanifest>
Cardinality 1

This tag may be included in the following composites:

Possible placements within ONIX message:

Since:
Onix-3.08
See Also:
  • Field Details

  • Constructor Details

    • BodyManifest

      public BodyManifest()
    • BodyManifest

      public BodyManifest(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 (<BodyManifest> or <bodymanifest>) is explicitly provided in the ONIX XML
    • ifExists

      public void ifExists(Consumer<BodyManifest> 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
    • bodyResources

      public ListOfOnixComposite<BodyResource> bodyResources()

      A group of data elements that together provide details of a single file or resource of which the body is composed. At least one resource is required in each <BodyManifest>, and the <BodyResource> composite is repeatable to describe multiple resources.

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

      A group of data elements that together identify a named ‘bundle’ of detailed technical specifications necessary for creation of the body of the final Product or Product part. Bundle names are inevitably proprietary, so both a Name type name and the Name value must be included.

      Jonix-Comment: this list may be empty
    • specificationDetails

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

      Jonix-Comment: this list may be empty
    • specificationFeatures

      An optional group of data elements which together specify an aspect of the body of the Product or Product part that is too specific to be covered in the <SpecificationDetail> element. Repeatable in order to describe different aspects of the product form.

      Jonix-Comment: this list may be empty
    • specificationDescriptions

      public ListOfOnixElement<SpecificationDescription,String> specificationDescriptions()

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

      Jonix-Comment: this list may be empty