View Javadoc

    1   /*
    2    * Copyright 2012 The Netty Project
    3    *
    4    * The Netty Project licenses this file to you under the Apache License,
    5    * version 2.0 (the "License"); you may not use this file except in compliance
    6    * with the License. You may obtain a copy of the License at:
    7    *
    8    *   http://www.apache.org/licenses/LICENSE-2.0
    9    *
    10   * Unless required by applicable law or agreed to in writing, software
    11   * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
    12   * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
    13   * License for the specific language governing permissions and limitations
    14   * under the License.
    15   */
    16  package org.jboss.netty.handler.ipfilter;
    17
    18  import java.net.InetAddress;
    19  import java.net.UnknownHostException;
    20
    21  /**
    22   * Ip V4 and Ip V6 filter rule.<br>
    23   * <br>
    24   * Note that mix of IPV4 and IPV6 is allowed but it is not recommended. So it is preferable to not
    25   * mix IPV4 addresses with IPV6 rules, even if it should work.
    26   */
    27  public class IpSubnetFilterRule extends IpSubnet implements IpFilterRule {
    28      /** Is this IpV4Subnet an ALLOW or DENY rule */
    29      private boolean isAllowRule = true;
    30
    31      /**
    32       * Constructor for a ALLOW or DENY ALL
    33       *
    34       * @param allow True for ALLOW, False for DENY
    35       */
    36      public IpSubnetFilterRule(boolean allow) {
    37          isAllowRule = allow;
    38      }
    39
    40      /** @param allow True for ALLOW, False for DENY */
    41      public IpSubnetFilterRule(boolean allow, InetAddress inetAddress, int cidrNetMask) throws UnknownHostException {
    42          super(inetAddress, cidrNetMask);
    43          isAllowRule = allow;
    44      }
    45
    46      /** @param allow True for ALLOW, False for DENY */
    47      public IpSubnetFilterRule(boolean allow, InetAddress inetAddress, String netMask) throws UnknownHostException {
    48          super(inetAddress, netMask);
    49          isAllowRule = allow;
    50      }
    51
    52      /** @param allow True for ALLOW, False for DENY */
    53      public IpSubnetFilterRule(boolean allow, String netAddress) throws UnknownHostException {
    54          super(netAddress);
    55          isAllowRule = allow;
    56      }
    57
    58      public boolean isAllowRule() {
    59          return isAllowRule;
    60      }
    61
    62      public boolean isDenyRule() {
    63          return !isAllowRule;
    64      }
    65
    66  }