001/** 002 * Logback: the reliable, generic, fast and flexible logging framework. 003 * Copyright (C) 1999-2015, QOS.ch. All rights reserved. 004 * 005 * This program and the accompanying materials are dual-licensed under 006 * either the terms of the Eclipse Public License v1.0 as published by 007 * the Eclipse Foundation 008 * 009 * or (per the licensee's choosing) 010 * 011 * under the terms of the GNU Lesser General Public License version 2.1 012 * as published by the Free Software Foundation. 013 */ 014package ch.qos.logback.core.joran.conditional; 015 016import ch.qos.logback.core.spi.PropertyContainer; 017import ch.qos.logback.core.util.OptionHelper; 018 019public class PropertyWrapperForScripts { 020 021 PropertyContainer local; 022 PropertyContainer context; 023 024 // this method is invoked by reflection in PropertyEvalScriptBuilder 025 public void setPropertyContainers(PropertyContainer local, PropertyContainer context) { 026 this.local = local; 027 this.context = context; 028 } 029 030 public boolean isNull(String k) { 031 String val = OptionHelper.propertyLookup(k, local, context); 032 return (val == null); 033 } 034 035 public boolean isDefined(String k) { 036 String val = OptionHelper.propertyLookup(k, local, context); 037 return (val != null); 038 } 039 040 public String p(String k) { 041 return property(k); 042 } 043 044 public String property(String k) { 045 String val = OptionHelper.propertyLookup(k, local, context); 046 if (val != null) 047 return val; 048 else 049 return ""; 050 } 051}