001/* 002 * jPOS Project [http://jpos.org] 003 * Copyright (C) 2000-2026 jPOS Software SRL 004 * 005 * This program is free software: you can redistribute it and/or modify 006 * it under the terms of the GNU Affero General Public License as 007 * published by the Free Software Foundation, either version 3 of the 008 * License, or (at your option) any later version. 009 * 010 * This program is distributed in the hope that it will be useful, 011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 013 * GNU Affero General Public License for more details. 014 * 015 * You should have received a copy of the GNU Affero General Public License 016 * along with this program. If not, see <http://www.gnu.org/licenses/>. 017 */ 018 019package org.jpos.log; 020 021import com.fasterxml.jackson.annotation.JsonSubTypes; 022import com.fasterxml.jackson.annotation.JsonTypeInfo; 023import org.jpos.log.evt.*; 024 025@JsonTypeInfo( 026 use = JsonTypeInfo.Id.NAME, 027 include = JsonTypeInfo.As.PROPERTY, 028 property = "t" 029) 030@JsonSubTypes({ 031 @JsonSubTypes.Type(value = Warning.class, name = "warn"), 032 @JsonSubTypes.Type(value = Start.class, name = "start"), 033 @JsonSubTypes.Type(value = Stop.class, name = "stop"), 034 @JsonSubTypes.Type(value = Deploy.class, name = "deploy"), 035 @JsonSubTypes.Type(value = UnDeploy.class, name = "undeploy"), 036 @JsonSubTypes.Type(value = LogMessage.class, name = "msg"), 037 @JsonSubTypes.Type(value = Shutdown.class, name = "shutdown"), 038 @JsonSubTypes.Type(value = DeployActivity.class, name = "deploy-activity"), 039 @JsonSubTypes.Type(value = ThrowableAuditLogEvent.class, name = "throwable"), 040 @JsonSubTypes.Type(value = License.class, name = "license"), 041 @JsonSubTypes.Type(value = SysInfo.class, name = "sysinfo"), 042 @JsonSubTypes.Type(value = Connect.class, name = "connect"), 043 @JsonSubTypes.Type(value = Disconnect.class, name = "disconnect"), 044 @JsonSubTypes.Type(value = Listen.class, name = "listen"), 045 @JsonSubTypes.Type(value = SessionStart.class, name = "session-start"), 046 @JsonSubTypes.Type(value = SessionEnd.class, name = "session-end"), 047 @JsonSubTypes.Type(value = Txn.class, name = "txn") 048}) 049 050public sealed interface AuditLogEvent permits Connect, Deploy, DeployActivity, Disconnect, License, Listen, LogMessage, SessionEnd, SessionStart, Shutdown, Start, Stop, SysInfo, ThrowableAuditLogEvent, Txn, UnDeploy, Warning { }