/*******************************************************************************
* Copyright 2017 Graz University of Technology
* EAAF-Core Components has been developed in a cooperation between EGIZ,
* A-SIT Plus, A-SIT, and Graz University of Technology.
*
* Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
* the European Commission - subsequent versions of the EUPL (the "Licence");
* You may not use this work except in compliance with the Licence.
* You may obtain a copy of the Licence at:
* https://joinup.ec.europa.eu/news/understanding-eupl-v12
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the Licence is distributed on an "AS IS" basis,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the Licence for the specific language governing permissions and
* limitations under the Licence.
*
* This product combines work with different licenses. See the "NOTICE" text
* file for details on the various modules and licenses.
* The "NOTICE" text file is part of the distribution. Any derivative works
* that you distribute must include a readable copy of the "NOTICE" text file.
*******************************************************************************/
/*******************************************************************************
*******************************************************************************/
package at.gv.egiz.eaaf.core.impl.logging;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import at.gv.egiz.eaaf.core.api.IStatusMessenger;
public class LogMessageProviderFactory {
private static final Logger log = LoggerFactory.getLogger(LogMessageProviderFactory.class);
private static IStatusMessenger internalMessager = new DummyStatusMessager();
/**
* Get the implementation specific StatusCode messager
*
* @return
*/
public static IStatusMessenger getMessager() {
return internalMessager;
}
/**
* Set the implementation specific status messanger.
*
* This method can ONLY used ONCE!
*
* @param messanger
*/
public static void setStatusMessager(IStatusMessenger messanger) {
if (internalMessager instanceof DummyStatusMessager) {
internalMessager = messanger;
log.info("Set StatusMessanger to '" + messanger.getClass().getName() + "'");
} else {
log.error("StatusMessanger CAN ONLY BE SET ONCE!!!!");
throw new RuntimeException("StatusMessanger CAN ONLY BE SET ONCE!!!!");
}
}
}