1 /** 2 * JORM: an implementation of a generic mapping system for persistent Java 3 * objects. Two mapping are supported: to RDBMS and to binary files. 4 * Copyright (C) 2001-2003 France Telecom R&D - INRIA 5 * 6 * This library is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU Lesser General Public 8 * License as published by the Free Software Foundation; either 9 * version 2 of the License, or (at your option) any later version. 10 * 11 * This library is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 * Lesser General Public License for more details. 15 * 16 * You should have received a copy of the GNU Lesser General Public 17 * License along with this library; if not, write to the Free Software 18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 * 20 * Contact: jorm-team@objectweb.org 21 * 22 */ 23 24 package org.objectweb.jorm.util.api; 25 26 import org.objectweb.util.monolog.api.Logger; 27 import org.objectweb.util.monolog.api.LoggerFactory; 28 29 /** 30 * The interface Loggable must be implemented by all objects 31 * which want to log something. 32 * @author P. Dechamboux 33 */ 34 public interface Loggable { 35 /** 36 * Returns a logger to an component that wants to log things. 37 */ 38 Logger getLogger(); 39 40 /** 41 * Returns a logger factory that allows the creation of new loggers. 42 */ 43 LoggerFactory getLoggerFactory(); 44 45 /** 46 * Assigns a logger to an component that wants to log things. 47 * 48 * @param logger the logger object 49 */ 50 void setLogger(Logger logger); 51 52 /** 53 * Assigns a logger factory that allows the creation of new loggers. 54 * 55 * @param loggerfactory the LoggerFactory object to obtain new loggers 56 */ 57 void setLoggerFactory(LoggerFactory loggerfactory); 58 59 } 60