Module jonix.onix3

Class ProductPart

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

public class ProductPart extends Object implements OnixComposite.OnixSuperComposite, Serializable

Product part composite

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>.

Reference name <ProductPart>
Short tag <productpart>
Cardinality 0…n

This tag may be included in the following composites:

Possible placements within ONIX message:

See Also:
  • Field Details

  • Constructor Details

    • ProductPart

      public ProductPart()
    • ProductPart

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

      public void ifExists(Consumer<ProductPart> 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 product part. Mandatory in each occurrence of <ProductPart>, and non-repeating.

      Jonix-Comment: this field is required
    • numberOfItemsOfThisForm

      public NumberOfItemsOfThisForm numberOfItemsOfThisForm()

      When product parts are listed as a specified number of different items in a specified form, without identifying the individual items, <NumberOfItemsOfThisForm> must be used to carry the quantity, even if the number is ‘1’. Consequently the element is mandatory and non-repeating in an occurrence of the <ProductPart> composite if <NumberOfCopies> is not present; and it must not be used if <ProductIdentifier> is present.

      Jonix-Comment: this field is required
    • primaryPart

      public PrimaryPart primaryPart()

      An empty element that allows a sender to identify a product part as the ‘primary’ part of a multiple-item product. For example, in a ‘book and toy’ or ‘book and DVD’ product, the book may be regarded as the primary part. Optional and non-repeating.

      Jonix-Comment: this field is optional
    • isPrimaryPart

      public boolean isPrimaryPart()
    • productPackaging

      public ProductPackaging productPackaging()

      An ONIX code which indicates the type of packaging used for the product part. Optional, and not repeatable.

      Jonix-Comment: this field is optional
    • numberOfCopies

      public NumberOfCopies numberOfCopies()

      When product parts are listed as a specified number of copies of a single item, usually identified by a <ProductIdentifier>, <NumberOfCopies> must be used to specify the quantity, even if the number is ‘1’. It must be used when a multiple-item product or pack contains (a) a quantity of a single item; or (b) one of each of several different items (as in a multi-volume set); or (c) one or more of each of several different items (as in a dumpbin carrying copies of two different books, or a classroom pack containing a teacher’s text and twenty student texts). Consequently the element is mandatory, and non-repeating, in an occurrence of the <ProductPart> composite if <NumberOfItemsOfThisForm> is not present. It is normally accompanied by a <ProductIdentifier>; but in exceptional circumstances, if the sender’s system is unable to provide an identifier at this level, it may be sent with product form coding and without an ID.

      Jonix-Comment: this field is optional
    • countryOfManufacture

      public CountryOfManufacture countryOfManufacture()

      An ONIX code identifying the country in which a product part was manufactured, if different product parts were manufactured in different countries. This information is needed in some countries to meet regulatory requirements. Optional and non-repeating.

      Jonix-Comment: this field is optional
    • productIdentifiers

      A group of data elements which together define an identifier of a product in accordance with a specified scheme, used here to carry the product identifier of a product part. Optional, but required when an occurrence of <ProductPart> specifies an individual item with its own identifier, and repeatable with different identifiers for the same product part.

      Jonix-Comment: this list may be empty
    • productFormDetails

      An ONIX code which provides added detail of the medium and/or format of a product part. 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 form of the product part. The composite is included here so that it can for example be used to carry consumer protection data related to a product part.

      Jonix-Comment: this list may be empty
    • productFormDescriptions

      public ListOfOnixElement<ProductFormDescription,String> productFormDescriptions()

      If product form codes do not adequately describe the contained item, a short text description may be added. Optional and repeatable. The language attribute is optional for a single instance of <ProductFormDescription>, but must be included in each instance if <ProductFormDescription> is repeated.

      Jonix-Comment: this list may be empty
    • productContentTypes

      An ONIX code which indicates certain types of content which are closely related to but not strictly an attribute of product form, eg audiobook. Optional and repeatable.

      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 part including its inner packaging (if any). Repeatable to provide multiple combinations of dimension and unit.

      Jonix-Comment: this list may be empty