blob: 026b5681280f009bcb24a32b96b5dfc6125dc91b [file] [log] [blame]
package org.apache.logging.log4j.jackson.xml;
import org.apache.logging.log4j.core.impl.ExtendedClassInfo;
import org.apache.logging.log4j.jackson.ExtendedStackTraceElementMixIn;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
public abstract class ExtendedStackTraceElementXmlMixIn extends ExtendedStackTraceElementMixIn {
private static final long serialVersionUID = 1L;
@JsonCreator
public ExtendedStackTraceElementXmlMixIn(
// @formatter:off
@JsonProperty(ATTR_CLASS_LOADER_NAME) final String classLoaderName,
@JsonProperty(ATTR_MODULE) final String moduleName,
@JsonProperty(ATTR_MODULE_VERSION) final String moduleVersion,
@JsonProperty(ATTR_CLASS) final String declaringClass,
@JsonProperty(ATTR_METHOD) final String methodName,
@JsonProperty(ATTR_FILE) final String fileName,
@JsonProperty(ATTR_LINE) final int lineNumber,
@JsonProperty(ATTR_EXACT) final boolean exact,
@JsonProperty(ATTR_LOCATION) final String location,
@JsonProperty(ATTR_VERSION) final String version
// @formatter:on
) {
super(classLoaderName, moduleName, moduleVersion, declaringClass, methodName, fileName, lineNumber, exact,
location, version);
}
@Override
@JacksonXmlProperty(localName = ATTR_CLASS_LOADER_NAME, isAttribute = true)
public abstract String getClassLoaderName();
@Override
@JacksonXmlProperty(localName = ATTR_MODULE, isAttribute = true)
public abstract String getModuleName();
@Override
@JacksonXmlProperty(localName = ATTR_MODULE_VERSION, isAttribute = true)
public abstract String getModuleVersion();
@Override
@JacksonXmlProperty(localName = ATTR_CLASS, isAttribute = true)
public abstract String getClassName();
@Override
@JacksonXmlProperty(isAttribute = true)
public abstract boolean getExact();
@Override
@JsonIgnore
public abstract ExtendedClassInfo getExtraClassInfo();
@Override
@JacksonXmlProperty(localName = ATTR_FILE, isAttribute = true)
public abstract String getFileName();
@Override
@JacksonXmlProperty(localName = ATTR_LINE, isAttribute = true)
public abstract int getLineNumber();
@Override
@JacksonXmlProperty(isAttribute = true)
public abstract String getLocation();
@Override
@JacksonXmlProperty(localName = ATTR_METHOD, isAttribute = true)
public abstract String getMethodName();
@JsonIgnore
abstract StackTraceElement getStackTraceElement();
@Override
@JacksonXmlProperty(isAttribute = true)
public abstract String getVersion();
@Override
@JsonIgnore
public abstract boolean isNativeMethod();
}