1 /* 2 * $Id: RestrictedNode.java 20321 2010-11-24 15:21:24Z dfeist $ 3 * -------------------------------------------------------------------------------------- 4 * Copyright (c) MuleSoft, Inc. All rights reserved. http://www.mulesoft.com 5 * 6 * The software in this package is published under the terms of the CPAL v1.0 7 * license, a copy of which has been included with this distribution in the 8 * LICENSE.txt file. 9 */ 10 11 package org.mule.context.notification; 12 13 import org.mule.api.context.notification.ServerNotification; 14 15 /** 16 * An implementation detail - this enforces the guarantee that once 17 * {@link Node#serial(RestrictedNode)} is called, {@link Node#parallel(RestrictedNode)} cannot be. 18 */ 19 interface RestrictedNode 20 { 21 22 public RestrictedNode serial(RestrictedNode node); 23 24 public int match(ServerNotification notification); 25 26 public boolean contains(Class clazz, int action); 27 28 public boolean isExhausted(); 29 30 /** 31 * @return Any remaining node 32 */ 33 public RestrictedNode getAnyRemaining(); 34 35 Class getNotificationClass(); 36 37 }