Module jonix.onix3

Class ProductSupply

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

public class ProductSupply extends Object implements OnixComposite.OnixSuperComposite, Serializable

Product supply composite

The product supply block covers data Groups P.24 to P.26, specifying a market, the publishing status and representation detail of the product in that market, and the supply arrangements for the product in that market. The <ProductSupply> composite is repeatable within the block to describe multiple markets. At least one occurrence is expected in a <Product> record unless the <NotificationType> in Group P.1 indicates that the record is a partial update notice which carries only those blocks in which changes have occurred.

Note that for many products with simple supply arrangements and a single market, many details of that market are ‘inherited’ from Block 4 and need not be repeated.

Reference name <ProductSupply>
Short tag <productsupply>
Cardinality 0…n

This tag may be included in the following composites:

Possible placements within ONIX message:

See Also:
  • Field Details

  • Constructor Details

    • ProductSupply

      public ProductSupply()
    • ProductSupply

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

      public void ifExists(Consumer<ProductSupply> 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
    • marketReference

      public MarketReference marketReference()

      For every market, a single market reference which will uniquely identify the <ProductSupply> composite which describes the market within this Product record, and which will remain as its permanent identifier every time you send an update.

      The Market reference is optional and non-repeating, but it is strongly recommended unless there is only a single market. It is intended to be used to label each repeat of <ProductSupply> for use in subsequent partial updates and reporting.

      Note that the scope of the Market reference is limited to a single Product record – a geographically identical market for a different product may have a different Market reference, and a geographically different market in another Product record may use the same reference.

      Jonix-Comment: this field is optional
    • marketPublishingDetail

      public MarketPublishingDetail marketPublishingDetail()

      A group of data elements which together give details of the publishing status of a product within a specified market. Optional and non-repeating within an occurrence of the <ProductSupply> block.

      Jonix-Comment: this field is optional
    • markets

      public ListOfOnixComposite<Market> markets()

      A group of data elements which together give details of a geographical territory and any non-geographical sales restrictions that apply within it. Optional in terms of the schema definitions, but required in most ONIX applications. If omitted, the geographical extent of the market must be assumed to be the area defined by the sales rights.

      The <Market> composite is repeatable, but in almost all cases only a single instance is required. It may be repeated if a non-geographical sales restriction applies only to a part of a geographically-defined market – for example where a product is sold throughout the European Union, but exclusive to a single retailer in France.

      Jonix-Comment: this list may be empty
    • supplyDetails

      public ListOfOnixComposite<SupplyDetail> supplyDetails()

      A group of data elements which together give details of a supply source, and price and availability from that source. Mandatory in each ordinary occurrence of the <ProductSupply> block, and repeatable to give details of multiple supply sources.

      Exceptionally, <SupplyDetail> may be omitted only within a partial or ‘block update’ (Notification or update type 04, see P.1.2) where a <MarketReference> is supplied, when the intention is to remove all previously-supplied Supply details for the referenced market (for example when one market is being merged into another).

      Jonix-Comment: this list may be empty