blob: 11ef10313254975dc1ad94dcdb655b27199c8dbb [file] [log] [blame]
Yotam Harchol4d634682013-09-26 13:21:06 -07001package org.projectfloodlight.openflow.types;
2
Yotam Harchol4d634682013-09-26 13:21:06 -07003
4public abstract class IPAddressWithMask<F extends IPAddress<F>> extends Masked<F> {
5
6 protected IPAddressWithMask(F value, F mask) {
7 super(value, mask);
8 }
9
Yotam Harcholeb023dc2013-09-26 15:45:44 -070010 public abstract IPVersion getIpVersion();
Yotam Harchol4d634682013-09-26 13:21:06 -070011
12 public static IPAddressWithMask<?> of(String ip) {
13 if (ip.indexOf('.') != -1)
14 return IPv4AddressWithMask.of(ip);
15 else if (ip.indexOf(':') != -1)
16 return IPv6AddressWithMask.of(ip);
17 else
18 throw new IllegalArgumentException("IP Address not well formed: " + ip);
19 }
20
21}