001// Generated by delombok at Fri Apr 04 00:51:49 BST 2025
002/*
003 *  Licensed to the Apache Software Foundation (ASF) under one
004 *  or more contributor license agreements.  See the NOTICE file
005 *  distributed with this work for additional information
006 *  regarding copyright ownership.  The ASF licenses this file
007 *  to you under the Apache License, Version 2.0 (the
008 *  "License"); you may not use this file except in compliance
009 *  with the License.  You may obtain a copy of the License at
010 *
011 *        http://www.apache.org/licenses/LICENSE-2.0
012 *
013 *  Unless required by applicable law or agreed to in writing,
014 *  software distributed under the License is distributed on an
015 *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
016 *  KIND, either express or implied.  See the License for the
017 *  specific language governing permissions and limitations
018 *  under the License.
019 */
020package org.apache.causeway.extensions.pdfjs.wkt.integration.res;
021
022import org.apache.wicket.markup.head.HeaderItem;
023import org.apache.wicket.markup.head.JavaScriptHeaderItem;
024import org.apache.wicket.markup.head.JavaScriptReferenceType;
025import org.apache.causeway.extensions.pdfjs.wkt.integration.CausewayModuleExtPdfjsWicketIntegration;
026import de.agilecoders.wicket.webjars.request.resource.WebjarsJavaScriptResourceReference;
027
028public class PdfJsReference extends WebjarsJavaScriptResourceReference {
029    private static final long serialVersionUID = 1L;
030    private static final java.util.concurrent.atomic.AtomicReference<java.lang.Object> instance = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
031
032    private PdfJsReference() {
033        super(String.format("%s/build/pdf.min.%s", CausewayModuleExtPdfjsWicketIntegration.getPdfJsVersion().getWebjarPath(), CausewayModuleExtPdfjsWicketIntegration.getPdfJsVersion().getJavascriptRefType() == JavaScriptReferenceType.MODULE ? "mjs" : "js"));
034    }
035
036    /**
037     * @return this resource reference singleton instance as header item
038     */
039    public static HeaderItem asHeaderItem() {
040        return JavaScriptHeaderItem.forReference(instance()).setType(CausewayModuleExtPdfjsWicketIntegration.getPdfJsVersion().getJavascriptRefType());
041    }
042
043    @java.lang.SuppressWarnings({"all", "unchecked"})
044    @lombok.Generated
045    public static PdfJsReference instance() {
046        java.lang.Object $value = PdfJsReference.instance.get();
047        if ($value == null) {
048            synchronized (PdfJsReference.instance) {
049                $value = PdfJsReference.instance.get();
050                if ($value == null) {
051                    final PdfJsReference actualValue = new PdfJsReference();
052                    $value = actualValue == null ? PdfJsReference.instance : actualValue;
053                    PdfJsReference.instance.set($value);
054                }
055            }
056        }
057        return (PdfJsReference) ($value == PdfJsReference.instance ? null : $value);
058    }
059}