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.request.Url; 023import org.apache.wicket.request.cycle.RequestCycle; 024import org.apache.wicket.util.string.Strings; 025import org.apache.causeway.extensions.pdfjs.wkt.integration.CausewayModuleExtPdfjsWicketIntegration; 026import de.agilecoders.wicket.webjars.request.resource.WebjarsJavaScriptResourceReference; 027 028public class PdfJsCmapsReference 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 PdfJsCmapsReference() { 033 super(String.format("%s/cmaps/_.bcmap", CausewayModuleExtPdfjsWicketIntegration.getPdfJsVersion().getWebjarPath())); 034 } 035 036 public static String cmapsUrl() { 037 return Strings.stripEnding(asUrl().toString(), "_.bcmap"); 038 } 039 040 // -- HELPER 041 private static Url asUrl() { 042 var pdfJsUrl = RequestCycle.get().urlFor(instance(), null); 043 return Url.parse(pdfJsUrl); 044 } 045 046 @java.lang.SuppressWarnings({"all", "unchecked"}) 047 @lombok.Generated 048 public static PdfJsCmapsReference instance() { 049 java.lang.Object $value = PdfJsCmapsReference.instance.get(); 050 if ($value == null) { 051 synchronized (PdfJsCmapsReference.instance) { 052 $value = PdfJsCmapsReference.instance.get(); 053 if ($value == null) { 054 final PdfJsCmapsReference actualValue = new PdfJsCmapsReference(); 055 $value = actualValue == null ? PdfJsCmapsReference.instance : actualValue; 056 PdfJsCmapsReference.instance.set($value); 057 } 058 } 059 } 060 return (PdfJsCmapsReference) ($value == PdfJsCmapsReference.instance ? null : $value); 061 } 062}