1 package org.csc.phynixx.loggersystem.logger; 2 3 /* 4 * #%L 5 * phynixx-common 6 * %% 7 * Copyright (C) 2014 csc 8 * %% 9 * Licensed under the Apache License, Version 2.0 (the "License"); 10 * you may not use this file except in compliance with the License. 11 * You may obtain a copy of the License at 12 * 13 * http://www.apache.org/licenses/LICENSE-2.0 14 * 15 * Unless required by applicable law or agreed to in writing, software 16 * distributed under the License is distributed on an "AS IS" BASIS, 17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 * See the License for the specific language governing permissions and 19 * limitations under the License. 20 * #L% 21 */ 22 23 24 import org.csc.phynixx.loggersystem.logger.channellogger.AccessMode; 25 26 import java.io.IOException; 27 import java.util.Set; 28 29 30 /** 31 * 32 */ 33 public interface IDataLoggerFactory { 34 35 String getLoggerSystemName(); 36 37 /** 38 * open the logger with mode {@link org.csc.phynixx.loggersystem.logger.channellogger.AccessMode#APPEND} 39 * @param loggerName unique Identifier of the logger (concering the logger system) 40 * @return logger 41 * @throws IOException 42 */ 43 IDataLogger instanciateLogger(String loggerName) throws IOException; 44 45 46 /** 47 * @param loggerName unique Identifier of the logger (concering the logger system) 48 * @return logger 49 * @throws IOException 50 */ 51 IDataLogger instanciateLogger(String loggerName, AccessMode accessMode) throws IOException; 52 53 /** 54 * Destroys all Logger of the logerSystem 55 */ 56 void cleanup(); 57 58 /** 59 * destroys the logger an all is associated resources an information 60 */ 61 void destroyLogger(String loggerName); 62 63 /** 64 * @return the loggernames of all loggers of the logger system 65 */ 66 Set<String> findLoggerNames() throws IOException; 67 }