org.n52.security.common.ip
Class IPRangeParser

java.lang.Object
  extended by org.n52.security.common.ip.IPRangeParser

public class IPRangeParser
extends Object

Utilities to convert between IPRange instances and their human-readable string representation. Supported formats (whitespaces are trimmed automatically):

Author:
jdr

Constructor Summary
IPRangeParser()
           
 
Method Summary
static String encodeRangesAsString(Iterable<IPRange> ranges, String delimeter)
           
static IPRange parseIntervalRange(String intervalRange)
          Parses an interval of IP addresses, specified as string, where upper and lower bounds are separated with a dash ('-').
static IPRange parseIP4AddressMask(String addressMask)
          Parses a IP address mask defining a subnet of IP addresses defined by a base IP address amd a prefix length.
static IPRange parseRange(String range)
          Converts a string that is either a single IP address, a subnet mask, or an interval of IP adresses.
static Collection<IPRange> parseRanges(String ranges, String delimeter)
          Parses a list of IP address range specifications.
static InetAddress parseSingleAddress(String address)
          Convert an IP address specified as a string.
static IPRange toRange(InetAddress address)
           
static IPRange toRange(InetAddress lower, InetAddress upper)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IPRangeParser

public IPRangeParser()
Method Detail

parseRange

public static IPRange parseRange(String range)
                          throws IPRangeParseException
Converts a string that is either a single IP address, a subnet mask, or an interval of IP adresses. Accepted format/examples, see above.

Parameters:
range - a range in one of the formats described above.
Returns:
an appropriate IPRange instance, i.e. IPIntervalRange for single address or interval and IP4AddressMask for a subnet mask.
Throws:
IPRangeParseException - if IP address is malformed or doesn't follow the format described above.

parseIntervalRange

public static IPRange parseIntervalRange(String intervalRange)
                                  throws IPRangeParseException
Parses an interval of IP addresses, specified as string, where upper and lower bounds are separated with a dash ('-').

Parameters:
intervalRange - defninition of interval.
Returns:
the IP range interval.
Throws:
IPRangeParseException

parseIP4AddressMask

public static IPRange parseIP4AddressMask(String addressMask)
                                   throws IPRangeParseException
Parses a IP address mask defining a subnet of IP addresses defined by a base IP address amd a prefix length. See IP4AddressMask for a detailed description.

Parameters:
addressMask - the IP address mask that should be parsed.
Returns:
a subnet mask.
Throws:
IPRangeParseException

toRange

public static IPRange toRange(InetAddress address)

toRange

public static IPRange toRange(InetAddress lower,
                              InetAddress upper)

parseSingleAddress

public static InetAddress parseSingleAddress(String address)
                                      throws IPRangeParseException
Convert an IP address specified as a string.

Parameters:
address - the IP address.
Returns:
the IP address.
Throws:
IPRangeParseException

parseRanges

public static Collection<IPRange> parseRanges(String ranges,
                                              String delimeter)
                                       throws IPRangeParseException
Parses a list of IP address range specifications.

Parameters:
ranges - the string containing a list of IP range specfications.
delimeter - delimiter that shall be used to identify the single IP range specifications, e.g. ",".
Returns:
Throws:
IPRangeParseException

encodeRangesAsString

public static String encodeRangesAsString(Iterable<IPRange> ranges,
                                          String delimeter)
Parameters:
ranges - a list of IPRange instances.
delimeter - delimiter that shall be used to separate the different IP ranges.
Returns:
single string with each IP range specification in the order as defined in the given list separated by the given delimiter.


Copyright © 2004–2014 52north.org. All rights reserved.