View Javadoc

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  package org.apache.mina.api;
20  
21  import org.apache.mina.filterchain.ReadFilterChainController;
22  import org.apache.mina.filterchain.WriteFilterChainController;
23  import org.apache.mina.session.WriteRequest;
24  
25  /**
26   * A convenient {@link IoFilter} implementation to be sub-classed for easier IoFilter implementation.
27   * 
28   * @author <a href="http://mina.apache.org">Apache MINA Project</a>
29   */
30  public abstract class AbstractIoFilter implements IoFilter {
31  
32      /**
33       * {@inheritDoc}
34       */
35      @Override
36      public void sessionOpened(final IoSession session) {
37      }
38  
39      /**
40       * {@inheritDoc}
41       */
42      @Override
43      public void sessionClosed(final IoSession session) {
44      }
45  
46      /**
47       * {@inheritDoc}
48       */
49      @Override
50      public void sessionIdle(final IoSession session, final IdleStatus status) {
51      }
52  
53      /**
54       * {@inheritDoc}
55       */
56      @Override
57      public void messageReceived(final IoSession session, final Object message,
58              final ReadFilterChainController controller) {
59          controller.callReadNextFilter(message);
60      }
61  
62      /**
63       * {@inheritDoc}
64       */
65      @Override
66      public void messageWriting(IoSession session, WriteRequest message, WriteFilterChainController controller) {
67          controller.callWriteNextFilter(message);
68      }
69  
70      /**
71       * {@inheritDoc}
72       */
73      @Override
74      public void messageSent(final IoSession session, final Object message) {
75      }
76  }