001package org.kuali.common.util.log.log4j.model; 002 003import javax.xml.bind.annotation.XmlAttribute; 004import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; 005 006import org.kuali.common.util.Assert; 007import org.kuali.common.util.log.log4j.jaxb.OmitDefaultLog4JLevelClassAdapter; 008 009public final class Level { 010 011 public static final Class<org.apache.log4j.Level> DEFAULT_CLASS = org.apache.log4j.Level.class; 012 public static final Level DEFAULT = new Level(); 013 014 @XmlAttribute(name = "class") 015 @XmlJavaTypeAdapter(OmitDefaultLog4JLevelClassAdapter.class) 016 private final Class<?> levelClass; 017 018 @XmlAttribute 019 private final Threshold value; 020 021 private Level() { 022 this(DEFAULT_CLASS, Threshold.DEFAULT_LOGGER_VALUE); 023 } 024 025 public Level(Threshold value) { 026 this(DEFAULT_CLASS, value); 027 } 028 029 public Level(Class<?> levelClass, Threshold value) { 030 Assert.noNulls(levelClass, value); 031 this.levelClass = levelClass; 032 this.value = value; 033 } 034 035 public Class<?> getLevelClass() { 036 return levelClass; 037 } 038 039 public Threshold getValue() { 040 return value; 041 } 042 043}