1 /* 2 * Logback: the reliable, generic, fast and flexible logging framework. 3 * Copyright (C) 1999-2024, QOS.ch. All rights reserved. 4 * 5 * This program and the accompanying materials are dual-licensed under 6 * either the terms of the Eclipse Public License v1.0 as published by 7 * the Eclipse Foundation 8 * 9 * or (per the licensee's choosing) 10 * 11 * under the terms of the GNU Lesser General Public License version 2.1 12 * as published by the Free Software Foundation. 13 */ 14 15 package ch.qos.logback.core.spi; 16 17 import ch.qos.logback.core.joran.GenericXMLConfigurator; 18 19 import java.util.function.Supplier; 20 21 /** 22 * An interface extending both {@link PropertyContainer} and {@link ContextAware} 23 * 24 * @since 1.5.1 25 */ 26 public interface ContextAwarePropertyContainer extends PropertyContainer, ContextAware { 27 28 29 /** 30 * This method is used tp perform variable substitution. 31 * 32 * @param input 33 * @return a new string after variable substitution, if any. 34 */ 35 String subst(String input); 36 37 38 /** 39 * Returns a supplier of {@link GenericXMLConfigurator} instance. The returned value may be null. 40 * 41 * <p>This method could/should have been part of a new interface. It is added here for reasons 42 * of commodity and not coherence.</p> 43 * 44 * @return a supplier of {@link GenericXMLConfigurator} instance, may be null 45 * @since 1.5.11 46 */ 47 default public Supplier<? extends GenericXMLConfigurator> getConfiguratorSupplier() { 48 return null; 49 } 50 }