Module jonix.onix3

Class SupplementManifest

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

public class SupplementManifest extends Object implements OnixComposite.OnixSuperComposite, Serializable

Supplement manifest composite

An optional group of data elements detailing a simple subset of Group P.1 to specify the Product form, an optional cover, mandatory body and optionally one or more insert manifests for a single Supplement – an additional item supplied with the product at retail that is NOT considered a <ProductPart>, for example a booklet supplied in PDF form that accompanies a downloadable audio product. Each of these cover, body and insert sections within <SupplementManifest> mirrors the structure of the parts of a <ProductionManifest>.

These manifests may be preceded by a <SequenceNumber> and one or more <SalesOutlet> composites to enable vendor-specific supplements, and a simple <NoSupplement/> indicator may replace the Product form and cover, body and insert manifests to provide a positive indication that a vendor-specific supplement has no ‘generic’ alternative.

Reference name <SupplementManifest>
Short tag <supplementmanifest>
Cardinality 0…n

This tag may be included in the following composites:

Possible placements within ONIX message:

Since:
Onix-3.08
See Also:
  • Field Details

  • Constructor Details

    • SupplementManifest

      public SupplementManifest()
    • SupplementManifest

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

      public void ifExists(Consumer<SupplementManifest> 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
    • productForm

      public ProductForm productForm()

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

      Jonix-Comment: this field is required
    • bodyManifest

      public BodyManifest bodyManifest()

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

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

      The Body manifest for the supplement has the same structure as the Body manifest for a Product or Product part. However, relevant high-level specifications such as the Product form or overall size of the supplement are carried within the <SupplementManifest> itself, rather than within Block 1.

      Jonix-Comment: this field is required
    • sequenceNumber

      public SequenceNumber sequenceNumber()

      A number which (in combination with any <SalesOutlet> composite) specifies a single overall sequence of supplements. Optional and non-repeating. It is strongly recommended that each occurrence of the <SupplementManifest> composite should carry a <SequenceNumber>.

      Note that with <SalesOutlet> below the provision of vendor-specific supplements can require the use of duplicate sequence numbers.

      Jonix-Comment: this field is optional
    • coverManifest

      public CoverManifest coverManifest()

      An optional group of data elements which together provide manifest details for the cover of a supplement. These details include:

      • technical specifications of the cover of the supplement;
      • details of the file resources required to create the cover.

      The Cover manifest for the supplement has the same structure as the Cover manifest for a Product or Product Part. However, relevant high-level specifications such as the Product form or overall size of the supplement are carried within the <SupplementManifest> itself, rather than within Block 1.

      Jonix-Comment: this field is optional
    • noSupplement

      public NoSupplement noSupplement()

      An empty element that provides a positive indication there is no alternative ‘generic’ supplement to be used in cases where there is a vendor-specific supplement (indicated using <SalesOutlet> with the same <SequenceNumber> specified within the Supplement manifest). The empty <NoSupplement/> must be used – and must only be used – when no <BodyManifest> is present within the Supplement manifest.

      Jonix-Comment: this field is optional
    • isNoSupplement

      public boolean isNoSupplement()
    • salesOutlets

      public ListOfOnixComposite<SalesOutlet> salesOutlets()

      A group of data elements which together identify a specific sales outlet. Optional in each occurrence of the <SupplementManifest> composite, and repeatable with multiple outlets.

      Normally omitted, but for vendor-specific supplements, the <SalesOutlet> composite lists an outlet for which the supplement is relevant. The <SalesOutlet> composite may be repeated where a single supplement is relevant for multiple outlets. Where <SalesOutlet> is omitted, the supplement is appropriate for all – or all other – outlets, depending on the use of the supplement’s Sequence number. See the use of <SequenceNumber> and <SalesOutlet> within the Cover resource composite.

      Jonix-Comment: this list may be empty
    • productIdentifiers

      A group of data elements which together specify a product identifier, used here to carry an identifier for the supplement which must not match a product identifier within Group P.2 or in an instance of the <ProductPart> composite within Group P.4. The composite is optional, but at least a proprietary identifier for the supplement is recommended.

      Jonix-Comment: this list may be empty
    • productFormDetails

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

      Jonix-Comment: this list may be empty
    • productFormDescriptions

      public ListOfOnixElement<ProductFormDescription,String> productFormDescriptions()

      If product form codes do not adequately describe the supplement, 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
    • 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 supplement. Repeatable to provide multiple combinations of dimension and unit.

      Jonix-Comment: this list may be empty
    • insertManifests

      public ListOfOnixComposite<InsertManifest> insertManifests()

      An optional and repeatable group of data elements which together provide manifest details for any inserts in a supplement. These details include:

      • technical specifications for an insert within the final supplement;
      • details of the file resources required to create the insert.

      The Insert manifest for the supplement has the same structure as the Insert manifest for a Product or Product Part. However, relevant high-level specifications such as the Product form or overall size of the supplement are carried within the <SupplementManifest> itself, rather than within Block 1.

      Jonix-Comment: this list may be empty