001package org.javasimon.callback.logging; 002 003/** 004 * Base class for log template which delegates part of the work to a concrete log template. 005 * 006 * @author gquintana 007 */ 008public abstract class DelegateLogTemplate<C> extends LogTemplate<C> { 009 010 /** Delegate log template. */ 011 private final LogTemplate<C> delegate; 012 013 /** 014 * Constructor with delegate log template. 015 * 016 * @param delegate delegate log template 017 */ 018 public DelegateLogTemplate(LogTemplate<C> delegate) { 019 this.delegate = delegate; 020 } 021 022 /** 023 * Get delegate log template. 024 * 025 * @return Delegate log template 026 */ 027 public LogTemplate getDelegate() { 028 return delegate; 029 } 030 031 protected boolean isEnabled(C context) { 032 return delegate.isEnabled(context); 033 } 034 035 protected void log(String message) { 036 delegate.log(message); 037 } 038}