1 /* 2 * The contents of this file are subject to the terms of the Common Development and 3 * Distribution License (the License). You may not use this file except in compliance with the 4 * License. 5 * 6 * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the 7 * specific language governing permission and limitations under the License. 8 * 9 * When distributing Covered Software, include this CDDL Header Notice in each file and include 10 * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL 11 * Header, with the fields enclosed by brackets [] replaced by your own identifying 12 * information: "Portions copyright [year] [name of copyright owner]". 13 * 14 * Copyright 2016 ForgeRock AS. 15 */ 16 17 package org.forgerock.audit.handlers.jms; 18 19 import javax.jms.Session; 20 21 /** 22 * Configuration wrapper for JMS {@link Session#getAcknowledgeMode()} SessionMode setting. 23 */ 24 public enum SessionModeConfig { 25 /** Auto-acknowledge session mode. */ 26 AUTO(Session.AUTO_ACKNOWLEDGE), 27 /** Client-acknowledge session mode. */ 28 CLIENT(Session.CLIENT_ACKNOWLEDGE), 29 /** Dups-OK-acknowledge session mode. */ 30 DUPS_OK(Session.DUPS_OK_ACKNOWLEDGE); 31 32 private int mode; 33 34 /** 35 * Creates the config instance with the passed in 'mode' setting. 36 * 37 * @param mode the session mode setting for this instance. 38 * @see Session#getAcknowledgeMode() 39 */ 40 SessionModeConfig(int mode) { 41 this.mode = mode; 42 } 43 44 /** 45 * Returns the session mode setting for this configuration. 46 * 47 * @return the session mode setting for this configuration. 48 * @see Session#getAcknowledgeMode() 49 */ 50 public int getMode() { 51 return mode; 52 } 53 }