KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > mina > integration > spring > IoFilterMapping


1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one
3  * or more contributor license agreements. See the NOTICE file
4  * distributed with this work for additional information
5  * regarding copyright ownership. The ASF licenses this file
6  * to you under the Apache License, Version 2.0 (the
7  * "License"); you may not use this file except in compliance
8  * with 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,
13  * software distributed under the License is distributed on an
14  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15  * KIND, either express or implied. See the License for the
16  * specific language governing permissions and limitations
17  * under the License.
18  *
19  */

20 package org.apache.mina.integration.spring;
21
22 import org.apache.mina.common.IoFilter;
23 import org.springframework.beans.factory.InitializingBean;
24 import org.springframework.util.Assert;
25
26 /**
27  * Associates a name with an {@link IoFilter}. This makes it possible to configure
28  * named filters using Spring.
29  * <p>
30  * Use this class when you want to configure the
31  * filters added to the filter chain of all sessions created from a particular
32  * {@link org.apache.mina.common.IoService} created using one of the
33  * {@link org.apache.mina.integration.spring.IoAcceptorFactoryBean}
34  * sub-classes but you don't want the names to be generated automatically.
35  * </p>
36  * <p>
37  * This class can also be used when creating {@link Binding} objects. This lets
38  * one configure per-port filters. These filters will only be added to the
39  * filter chain of sessions for incoming connections on the port specified by
40  * the {@link Binding}. Note that {@link Binding} can also be configured to
41  * generate filter names automatically. In that case you add the {@link IoFilter}
42  * instances directly to the {@link Binding}.
43  * </p>
44  *
45  * @author The Apache Directory Project (mina-dev@directory.apache.org)
46  * @version $Rev: 555855 $, $Date: 2007-07-13 12:19:00 +0900 (금, 13 7월 2007) $
47  *
48  * @see org.apache.mina.integration.spring.IoAcceptorFactoryBean
49  * @see org.apache.mina.integration.spring.Binding
50  */

51 public class IoFilterMapping implements InitializingBean {
52     private String JavaDoc name = null;
53
54     private IoFilter filter = null;
55
56     /**
57      * Creates a new empty instance.
58      */

59     public IoFilterMapping() {
60     }
61
62     /**
63      * Creates a new instance using the specified name and filter.
64      *
65      * @param name the name.
66      * @param filter the filter.
67      * @throws IllegalArgumentException if any of the arguments are
68      * <code>null</code>.
69      */

70     public IoFilterMapping(String JavaDoc name, IoFilter filter) {
71         Assert.notNull(name, "Argument 'name' may not be null");
72         Assert.notNull(filter, "Argument 'filter' may not be null");
73
74         this.name = name;
75         this.filter = filter;
76     }
77
78     /**
79      * Returns the filter of this mapping.
80      *
81      * @return the filter.
82      */

83     public IoFilter getFilter() {
84         return filter;
85     }
86
87     /**
88      * Returns the name associated with the filter.
89      *
90      * @return the name.
91      */

92     public String JavaDoc getName() {
93         return name;
94     }
95
96     /**
97      * Sets the filter of this mapping.
98      *
99      * @param filter the filter.
100      * @throws IllegalArgumentException if the specified value is
101      * <code>null</code>.
102      */

103     public void setFilter(IoFilter filter) {
104         Assert.notNull(filter, "Argument 'filter' may not be null");
105         this.filter = filter;
106     }
107
108     /**
109      * Sets the name associated with the filter.
110      *
111      * @param name the name.
112      * @throws IllegalArgumentException if the specified value is
113      * <code>null</code>.
114      */

115     public void setName(String JavaDoc name) {
116         Assert.notNull(name, "Argument 'name' may not be null");
117         this.name = name;
118     }
119
120     public void afterPropertiesSet() throws Exception JavaDoc {
121         Assert.notNull(name, "Argument 'name' may not be null");
122         Assert.notNull(filter, "Argument 'filter' may not be null");
123     }
124 }
125
Popular Tags