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.wicket.markup.head.OnDomReadyHeaderItem; 026import org.apache.wicket.request.resource.JavaScriptResourceReference; 027import org.apache.causeway.extensions.pdfjs.applib.config.PdfJsConfig; 028import org.apache.causeway.extensions.pdfjs.wkt.integration.CausewayModuleExtPdfjsWicketIntegration; 029 030public class PdfJsIntegrationReference extends JavaScriptResourceReference { 031 private static final long serialVersionUID = 1L; 032 private static final java.util.concurrent.atomic.AtomicReference<java.lang.Object> instance = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>(); 033 034 private PdfJsIntegrationReference() { 035 super(PdfJsIntegrationReference.class, String.format("pdfjs-integration-%s.%s", CausewayModuleExtPdfjsWicketIntegration.getPdfJsVersion().getIntegrationScriptSuffix(), CausewayModuleExtPdfjsWicketIntegration.getPdfJsVersion().getJavascriptRefType() == JavaScriptReferenceType.MODULE ? "mjs" : "js")); 036 } 037 038 /** 039 * @return this resource reference singleton instance as header item 040 */ 041 public static HeaderItem asHeaderItem() { 042 return JavaScriptHeaderItem.forReference(instance()).setType(CausewayModuleExtPdfjsWicketIntegration.getPdfJsVersion().getJavascriptRefType()); 043 } 044 045 public static OnDomReadyHeaderItem domReadyScript(final PdfJsConfig config) { 046 return OnDomReadyHeaderItem.forScript(String.format("WicketStuff.PDFJS.init(%s)", config.toJsonString())); 047 } 048 049 @java.lang.SuppressWarnings({"all", "unchecked"}) 050 @lombok.Generated 051 public static PdfJsIntegrationReference instance() { 052 java.lang.Object $value = PdfJsIntegrationReference.instance.get(); 053 if ($value == null) { 054 synchronized (PdfJsIntegrationReference.instance) { 055 $value = PdfJsIntegrationReference.instance.get(); 056 if ($value == null) { 057 final PdfJsIntegrationReference actualValue = new PdfJsIntegrationReference(); 058 $value = actualValue == null ? PdfJsIntegrationReference.instance : actualValue; 059 PdfJsIntegrationReference.instance.set($value); 060 } 061 } 062 } 063 return (PdfJsIntegrationReference) ($value == PdfJsIntegrationReference.instance ? null : $value); 064 } 065}