KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > activemq > filter > CompositeDestinationFilter


1 /**
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one or more
4  * contributor license agreements. See the NOTICE file distributed with
5  * this work for additional information regarding copyright ownership.
6  * The ASF licenses this file to You under the Apache License, Version 2.0
7  * (the "License"); you may not use this file except in compliance with
8  * the License. You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */

18 package org.apache.activemq.filter;
19
20 import org.apache.activemq.command.ActiveMQDestination;
21
22 /**
23  * A {@link DestinationFilter} used for composite destinations
24  *
25  * @version $Revision: 1.3 $
26  */

27 public class CompositeDestinationFilter extends DestinationFilter {
28     
29     private DestinationFilter filters[];
30
31     public CompositeDestinationFilter(ActiveMQDestination destination) {
32         ActiveMQDestination[] destinations = destination.getCompositeDestinations();
33         filters = new DestinationFilter[destinations.length];
34         for (int i = 0; i < destinations.length; i++) {
35             ActiveMQDestination childDestination = destinations[i];
36             filters[i]= DestinationFilter.parseFilter(childDestination);
37         }
38     }
39
40     public boolean matches(ActiveMQDestination destination) {
41         for (int i = 0; i < filters.length; i++) {
42             if (filters[i].matches(destination)) {
43                 return true;
44             }
45         }
46         return false;
47     }
48
49     public boolean isWildcard() {
50         return true;
51     }
52 }
53
Popular Tags