/** * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. * * Copyright (c) 2006 Sun Microsystems Inc. All Rights Reserved * * The contents of this file are subject to the terms * of the Common Development and Distribution License * (the License). You may not use this file except in * compliance with the License. * * You can obtain a copy of the License at * https://opensso.dev.java.net/public/CDDLv1.0.html or * opensso/legal/CDDLv1.0.txt * See the License for the specific language governing * permission and limitations under the License. * * When distributing Covered Code, include this CDDL * Header Notice in each file and include the License file * at opensso/legal/CDDLv1.0.txt. * If applicable, add the following below the CDDL Header, * with the fields enclosed by brackets [] replaced by * your own identifying information: * "Portions Copyrighted [year] [name of copyright owner]" * * $Id: ConditionDecision.java,v 1.2 2008/06/25 05:43:43 qcheng Exp $ * * Portions Copyrighted 2014 ForgeRock AS. */ package com.sun.identity.policy; import java.util.Map; import java.util.HashMap; /** * The ConditionDecision class represents the result of * the evaluation of a condition. * * @supported.all.api * @deprecated since 12.0.0 */ @Deprecated public class ConditionDecision { private boolean allowed; private Map advices = new HashMap(); private long timeToLive = Long.MAX_VALUE; /** No argument constructor */ public ConditionDecision() { } /** Constructs ConditionDecision given the boolean result of * a condition evaluation * * @param allowed boolean result of a condition evaluation */ public ConditionDecision(boolean allowed) { this.allowed = allowed; } /** Constructs ConditionDecision given the boolean result of * a condition evaluation and advices * * @param allowed boolean result of a condition evaluation * @param advices A Map representing advices associated with * this ConditionDecision. * The advice name is the key to the Map. The * value is a Set of advice message Strings corresponding * to the advice name. * The advice name examples are * SessionCondition.SESSION_CONDITION_ADVICE * AuthSchemeCondition.AUTH_SCHEME_CONDITION_ADVICE */ public ConditionDecision(boolean allowed, Map advices) { this.allowed = allowed; this.advices = advices; } /** Constructs ConditionDecision given the boolean result of * a condition evaluation and time to live * * @param allowed boolean result of a condition evaluation * @param timeToLive GMT time in milliseconds since epoch when * this object is to be treated as expired. */ public ConditionDecision(boolean allowed, long timeToLive) { this.allowed = allowed; this.timeToLive = timeToLive; } /** Constructs ConditionDecision given the boolean result of * a condition evaluation, time to live and advices * * @param allowed boolean result of a condition evaluation * @param timeToLive GMT time in milliseconds since epoch when * this object is to be treated as expired. * @param advices advices associated with this action decision. * The advice name is the key to the Map. The * value is a set of advice message Strings corresponding to the * advice name. * The advice name examples are * SessionCondition.SESSION_CONDITION_ADVICE * AuthSchemeCondition.AUTH_SCHEME_CONDITION_ADVICE */ public ConditionDecision(boolean allowed, long timeToLive, Map advices) { this.allowed = allowed; this.timeToLive = timeToLive; this.advices = advices; } /** Sets boolean result of condition evaluation * * @param allowed boolean result of condition evaluation */ public void setAllowed(boolean allowed) { this.allowed = allowed; } /** Gets boolean result of condition evaluation * * @return result of condition evaluation */ public boolean isAllowed() { return allowed; } /** Sets advices associated with this object * * @param advices A Map representing advices associated with * this object. * The advice name is the key to the Map. The * value is a Set of advice message Strings corresponding * to the advice name. * The advice name examples are * SessionCondition.SESSION_CONDITION_ADVICE * AuthSchemeCondition.AUTH_SCHEME_CONDITION_ADVICE */ public void setAdvices(Map advices) { this.advices = advices; } /** Gets advices associated with this object * * @return advices associated with this object. * The advice name is the key to the Map. The * value is a Set of advice message Strings corresponding * to the advice name. */ public Map getAdvices() { return advices; } /** Sets timeToLive associated with this object * * @param timeToLive GMT time in milliseconds since epoch when * this object is to be treated as expired. */ public void setTimeToLive(long timeToLive) { this.timeToLive = timeToLive; } /** Gets timeToLive associated with this object * * @return GMT time in milliseconds since epoch when * this object is to be treated as expired. */ public long getTimeToLive() { return timeToLive; } }