/* * Copyright (c) MuleSoft, Inc. All rights reserved. http://www.mulesoft.com * The software in this package is published under the terms of the CPAL v1.0 * license, a copy of which has been included with this distribution in the * LICENSE.txt file. */ package org.mule.runtime.core.policy; /** * This class represents a policy injection. * <p> * It contains the set of parameters configured to apply the policy and the chain of * {@link org.mule.runtime.core.api.processor.Processor}s to be applied. */ public class Policy { private final PolicyChain policyChain; private String id; /** * Creates a new {@code ParameterizedPolicy}. * * @param policyChain the chain of {@link org.mule.runtime.core.api.processor.Processor}s to be applied. * @param policyId unique id of this policy. */ public Policy(PolicyChain policyChain, String policyId) { this.policyChain = policyChain; this.id = policyId; } /** * @return the unique id for this policy. */ public String getPolicyId() { return id; } /** * Retrieves the chain with the logic related to the policy. * * @return a chain of {@link org.mule.runtime.core.api.processor.Processor}s to be applied. */ public PolicyChain getPolicyChain() { return policyChain; } }