Module jonix.common

Interface JonixStruct

All Known Subinterfaces:
JonixKeyedStruct<K>
All Known Implementing Classes:
JonixAddresseeIdentifier, JonixAffiliationIdentifier, JonixAgentIdentifier, JonixAncillaryContent, JonixAudience, JonixAudienceRange, JonixAVItemIdentifier, JonixBarcode, JonixBatchBonus, JonixBible, JonixCollectionIdentifier, JonixCollectionSequence, JonixComplexity, JonixConferenceSponsorIdentifier, JonixContentDate, JonixContributorDate, JonixContributorPlace, JonixCopyrightOwnerIdentifier, JonixDiscount, JonixDiscountCoded, JonixEpubLicenseDate, JonixEpubLicenseExpression, JonixEpubUsageLimit, JonixEventIdentifier, JonixEventSponsorIdentifier, JonixExtent, JonixFundingIdentifier, JonixIllustrations, JonixImprintIdentifier, JonixInsertPoint, JonixLanguage, JonixLocationIdentifier, JonixMainSubject, JonixMarketDate, JonixMeasure, JonixMediaFile, JonixNameIdentifier, JonixOccurrenceDate, JonixOnOrderDetail, JonixOtherText, JonixPageRun, JonixParentIdentifier, JonixPersonDate, JonixPersonNameIdentifier, JonixPriceCoded, JonixPriceConditionQuantity, JonixPriceConstraintLimit, JonixPriceDate, JonixPriceIdentifier, JonixPrizeIdentifier, JonixProductClassification, JonixProductContactIdentifier, JonixProductFormFeature, JonixProductIdentifier, JonixProductWebsite, JonixPublisherIdentifier, JonixPublishingDate, JonixRecordSourceIdentifier, JonixReligiousTextFeature, JonixResourceFeature, JonixResourceFileDate, JonixResourceFileFeature, JonixResourceIdentifier, JonixResourceVersionFeature, JonixReturnsConditions, JonixReviewRating, JonixSalesOutletIdentifier, JonixSenderIdentifier, JonixSeriesIdentifier, JonixSpecificationBundleName, JonixSpecificationFeature, JonixStockQuantityCoded, JonixSubject, JonixSubjectDate, JonixSupplierIdentifier, JonixSupplierOwnCoding, JonixSupplyContactIdentifier, JonixSupplyDate, JonixTerritory, JonixTextItemIdentifier, JonixTimeRun, JonixTitle, JonixTitleElement, JonixVelocity, JonixWebsite, JonixWorkIdentifier

public interface JonixStruct
Fundamental interface in Jonix object model, merely marking a Jonix Struct.

The idea of a Struct is to represent an ONIX Data Composite (i.e. an ONIX item that contains several fields, but no nested ONIX items) as a simple Java object. One of the biggest advantages of such Struct is that it's ONIX-version agnostic (i.e. Onix2 and Onix3 create the exact same class) - which allows easy development of cross-version processing. Another important feature is that in many cases one of the fields in the Struct acts as a key (i.e. mandatory, unique, and searchable-by). This useful trait is captured by JonixKeyedStruct.

To obtain Struct from any Data Composite invoke OnixComposite.OnixDataComposite.asStruct().