/* * Copyright 2010 NCHOVY * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.krakenapps.log.api.impl; import java.util.Date; import java.util.HashMap; import java.util.Map; import java.util.Properties; import org.krakenapps.api.FieldOption; import org.krakenapps.confdb.CollectionName; import org.krakenapps.log.api.Logger; @CollectionName("logger") public class LoggerConfig { private String factoryNamespace; private String factoryName; private String namespace; private String fullname; private String name; private String description; private boolean isPassive; private boolean isRunning; private int interval; @FieldOption(skip = true) private long count; @FieldOption(skip = true) private Date lastLogDate; private Map<String, Object> configs = new HashMap<String, Object>(); public LoggerConfig() { } public LoggerConfig(Logger logger) { this.factoryNamespace = logger.getFactoryNamespace(); this.factoryName = logger.getFactoryName(); this.namespace = logger.getNamespace(); this.fullname = logger.getFullName(); this.name = logger.getName(); this.description = logger.getDescription(); this.isPassive = logger.isPassive(); this.isRunning = logger.isRunning(); this.interval = logger.getInterval(); this.count = logger.getLogCount(); this.lastLogDate = logger.getLastLogDate(); } public String getFactoryNamespace() { return factoryNamespace; } public void setFactoryNamespace(String factoryNamespace) { this.factoryNamespace = factoryNamespace; } public String getFactoryName() { return factoryName; } public void setFactoryName(String factoryName) { this.factoryName = factoryName; } public String getNamespace() { return namespace; } public void setNamespace(String namespace) { this.namespace = namespace; } public String getFullname() { return fullname; } public void setFullname(String fullname) { this.fullname = fullname; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public boolean isPassive() { return isPassive; } public void setPassive(boolean isPassive) { this.isPassive = isPassive; } public boolean isRunning() { return isRunning; } public void setRunning(boolean isRunning) { this.isRunning = isRunning; } public int getInterval() { return interval; } public void setInterval(int interval) { this.interval = interval; } public long getCount() { return count; } public void setCount(long count) { this.count = count; } public Date getLastLogDate() { return lastLogDate; } public void setLastLogDate(Date lastLogDate) { this.lastLogDate = lastLogDate; } public void setConfigs(Properties configs) { for (Object key : configs.keySet()) this.configs.put(key.toString(), configs.getProperty((String) key)); } public Properties getConfigs() { Properties configs = new Properties(); for (String key : this.configs.keySet()) { Object value = this.configs.get(key); if (value != null) configs.put(key, value); } return configs; } @Override public String toString() { return "factory=" + factoryNamespace + "\\" + factoryName + ", fullname=" + fullname + ", passive=" + isPassive + ", running=" + isRunning + ", interval=" + interval + ", configs=" + configs; } }