All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.tectonica.jonix.common.codelist.PublishingDateRoles Maven / Gradle / Ivy

/*
 * Copyright (C) 2012-2023 Zach Melamed
 *
 * Latest version available online at https://github.com/zach-m/jonix
 * Contact me at [email protected]
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.tectonica.jonix.common.codelist;

import com.tectonica.jonix.common.OnixCodelist;

import java.util.HashMap;
import java.util.Map;
import java.util.Optional;

/*
 * NOTE: THIS IS AN AUTO-GENERATED FILE, DO NOT EDIT MANUALLY
 */

/**
 * marker interface to assist in IDE navigation to code-list 163 (Publishing date role)
 */
interface CodeList163 {
}

/**
 * Enum that corresponds to ONIX Codelist 163
 * 

* Description: Publishing date role * * @see About ONIX Codelists * @see ONIX * Codelist 163 in Reference Guide */ public enum PublishingDateRoles implements OnixCodelist, CodeList163 { /** * Nominal date of publication. This date is primarily used for planning, promotion and other business process * purposes, and is not necessarily the first date for retail sales or fulfillment of pre-orders. In the absence of * a sales embargo date, retail sales and pre-order fulfillment may begin as soon as stock is available to the * retailer */ Publication_date("01", "Publication date"), /** * If there is an embargo on retail sales (in the market) before a certain date, the date from which the embargo is * lifted and retail sales and fulfillment of pre-orders are permitted. In the absence of an embargo date, retail * sales and pre-order fulfillment may begin as soon as stock is available to the retailer */ Sales_embargo_date("02", "Sales embargo date"), /** * Date when a new product may be announced to the general public. Prior to the announcement date, the product data * is intended for internal use by the recipient and supply chain partners only. After the announcement date, or in * the absence of an announcement date, the planned product may be announced to the public as soon as metadata is * available */ Public_announcement_date("09", "Public announcement date"), /** * Date when a new product may be announced to the book trade only. Prior to the announcement date, the product * information is intended for internal use by the recipient only. After the announcement date, or in the absence of * a trade announcement date, the planned product may be announced to supply chain partners (but not necessarily * made public - see the Public announcement date) as soon as metadata is available */ Trade_announcement_date("10", "Trade announcement date"), /** * Date when the work incorporated in a product was first published. For works in translation, see also Date of * first publication in original language (code 20) */ Date_of_first_publication("11", "Date of first publication"), /** * Date when a product was last reprinted */ Last_reprint_date("12", "Last reprint date"), /** * Date when a product was (or will be) declared out-of-print, permanently withdrawn from sale or deleted */ Out_of_print_permanently_withdrawn_date("13", "Out-of-print / permanently withdrawn date"), /** * Date when a product was last reissued */ Last_reissue_date("16", "Last reissue date"), /** * Date of publication of a printed book which is the direct print counterpart to a digital product. The counterpart * product may be included in <RelatedProduct> using code 13 */ Publication_date_of_print_counterpart("19", "Publication date of print counterpart"), /** * Date when the original language version of work incorporated in a product was first published (note, use only on * works in translation - see code 11 for first publication date in the translated language) */ Date_of_first_publication_in_original_language("20", "Date of first publication in original language"), /** * Date when a product will be reissued */ Forthcoming_reissue_date("21", "Forthcoming reissue date"), /** * Date when a product that has been temporary withdrawn from sale or recalled for any reason is expected to become * available again, eg after correction of quality or technical issues */ Expected_availability_date_after_temporary_withdrawal("22", "Expected availability date after temporary withdrawal"), /** * Date from which reviews of a product may be published eg in newspapers and magazines or online. Provided to the * book trade for information only: newspapers and magazines are not expected to be recipients of ONIX metadata */ Review_embargo_date("23", "Review embargo date"), /** * Latest date on which an order may be placed with the publisher for guaranteed delivery prior to the publication * date. May or may not be linked to a special reservation or pre-publication price */ Publishers_reservation_order_deadline("25", "Publisher’s reservation order deadline"), /** * Date when a product will be reprinted */ Forthcoming_reprint_date("26", "Forthcoming reprint date"), /** * Earliest date a retail 'preorder' can be placed (in the market), where this is distinct from the public * announcement date. In the absence of a preorder embargo, advance orders can be placed as soon as metadata is * available to the consumer (this would be the public announcement date, or in the absence of a public announcement * date, the earliest date metadata is available to the retailer) */ Preorder_embargo_date("27", "Preorder embargo date"), /** * Date of acquisition of product by new publisher (use with publishing roles 09 and 13) */ Transfer_date("28", "Transfer date"), /** * For an audiovisual work (eg on DVD) */ Date_of_production("29", "Date of production"), /** * For digital products that are available to end customers both as a download and streamed, the earliest date the * product can be made available on a stream, where the streamed version becomes available later than the download. * For the download, see code 02 if it is embargoed or code 01 if there is no embargo *

* Jonix-Comment: Introduced in Onix3 */ Streaming_embargo_date("30", "Streaming embargo date"), /** * For digital products that are available to end customers both as purchases and as part of a subscription package, * the earliest date the product can be made available by subscription, where the product may not be included in a * subscription package until shome while after publication. For ordinary sales, see code 02 if there is a sales * embargo or code 01 if there is no embargo *

* Jonix-Comment: Introduced in Onix3 */ Subscription_embargo_date("31", "Subscription embargo date"), /** * Date by which CIP copy is required for inclusion in the product *

* Jonix-Comment: Introduced in Onix3 */ CIP_date("35", "CIP date"); public final String code; public final String description; PublishingDateRoles(String code, String description) { this.code = code; this.description = description; } @Override public String getCode() { return code; } @Override public String getDescription() { return description; } private static volatile Map map; private static Map map() { Map result = map; if (result == null) { synchronized (PublishingDateRoles.class) { result = map; if (result == null) { result = new HashMap<>(); for (PublishingDateRoles e : values()) { result.put(e.code, e); } map = result; } } } return result; } public static PublishingDateRoles byCode(String code) { if (code == null || code.isEmpty()) { return null; } return map().get(code); } public static Optional byCodeOptional(String code) { return Optional.ofNullable(byCode(code)); } public static String codeToDesciption(String code) { return byCodeOptional(code).map(c -> c.description).orElse(null); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy