47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos/*
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos *
b10438ed180752c366a46cda8e16982358258148Jason Vincent * Copyright 2011-2015 ForgeRock AS.
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos *
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos * The contents of this file are subject to the terms
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos * of the Common Development and Distribution License
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos * (the License). You may not use this file except in
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos * compliance with the License.
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos *
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos * You can obtain a copy of the License at
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos * http://forgerock.org/license/CDDLv1.0.html
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos * See the License for the specific language governing
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos * permission and limitations under the License.
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos *
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos * When distributing Covered Code, include this CDDL
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos * Header Notice in each file and include the License file
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos * at http://forgerock.org/license/CDDLv1.0.html
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos * If applicable, add the following below the CDDL Header,
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos * with the fields enclosed by brackets [] replaced by
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos * your own identifying information:
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos * "Portions Copyrighted [year] [name of copyright owner]"
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos */
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordospackage org.forgerock.openidm.audit.impl;
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordosimport java.util.Map;
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos
21dcdac963f79c098a5ea1a2c5c5e109429c9786Brendan Millerimport org.forgerock.services.context.Context;
92327eba2d504cf38480c3d35550967289071f68Jason Vincentimport org.forgerock.json.JsonValue;
da70d74096ee70f65c7c0bb2ff584a6f2a65306cChad Kienleimport org.forgerock.json.resource.ForbiddenException;
da70d74096ee70f65c7c0bb2ff584a6f2a65306cChad Kienleimport org.forgerock.json.resource.NotFoundException;
da70d74096ee70f65c7c0bb2ff584a6f2a65306cChad Kienleimport org.forgerock.json.resource.QueryRequest;
92327eba2d504cf38480c3d35550967289071f68Jason Vincentimport org.forgerock.json.resource.QueryResourceHandler;
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordosimport org.forgerock.json.resource.ResourceException;
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos/**
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos * OpenIDM audit logger
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos */
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordospublic interface AuditLogger {
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos /**
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos * Set the audit logger configuration which is a logger specific
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos * map
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos * @param config the configuration
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos */
f9e793c040f681f247471dc659cdcd8238058a9dBrendan Mmiller void setConfig(JsonValue config);
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos /**
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos * Cleanup called when auditlogger no longer needed
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos */
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos void cleanup();
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos /**
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos * Whether this audit logger is used for reads/queries, when multiple
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos * loggers are configured.
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos *
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos * @return whether to use this logger for reads/queries.
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos */
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos boolean isUsedForQueries();
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos
94b7354e900bede7f2de093dec9b6b509ade275dBrendan Mmiller /**
94b7354e900bede7f2de093dec9b6b509ade275dBrendan Mmiller * Returns whether to ignore logging failures
94b7354e900bede7f2de093dec9b6b509ade275dBrendan Mmiller *
94b7354e900bede7f2de093dec9b6b509ade275dBrendan Mmiller * @return whether to ignore logging failures
94b7354e900bede7f2de093dec9b6b509ade275dBrendan Mmiller */
94b7354e900bede7f2de093dec9b6b509ade275dBrendan Mmiller boolean isIgnoreLoggingFailures();
94b7354e900bede7f2de093dec9b6b509ade275dBrendan Mmiller
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos /**
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos * Creates a new object in the object set.
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos * <p>
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos * On completion, this method sets the {@code _id} property to the assigned identifier for
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos * the object, and the {@code _rev} property to object version if optimistic concurrency
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos * is supported.
47196c962e3caf7cdf7ea5d00ccdefc9f208bdceLaszlo Hordos *
Error!

 

There was an error!

null

java.lang.NullPointerException