Better exception message to tell the user why it is not supported

This commit is contained in:
Norman Maurer 2014-01-30 07:00:53 +01:00
parent 0f7379157a
commit f94b563bcd

View File

@ -82,9 +82,7 @@ public final class NioDatagramChannel
return newSocket();
}
if (PlatformDependent.javaVersion() < 7) {
throw new UnsupportedOperationException();
}
checkJavaVersion();
try {
return DatagramChannel.open(ProtocolFamilyConverter.convert(ipFamily));
@ -93,6 +91,12 @@ public final class NioDatagramChannel
}
}
private static void checkJavaVersion() {
if (PlatformDependent.javaVersion() < 7) {
throw new UnsupportedOperationException("Only supported on java 7+.");
}
}
/**
* Create a new instance which will use the Operation Systems default {@link InternetProtocolFamily}.
*/
@ -349,7 +353,9 @@ public final class NioDatagramChannel
public ChannelFuture joinGroup(
InetAddress multicastAddress, NetworkInterface networkInterface,
InetAddress source, ChannelPromise promise) {
if (PlatformDependent.javaVersion() >= 7) {
checkJavaVersion();
if (multicastAddress == null) {
throw new NullPointerException("multicastAddress");
}
@ -379,9 +385,7 @@ public final class NioDatagramChannel
} catch (Throwable e) {
promise.setFailure(e);
}
} else {
throw new UnsupportedOperationException();
}
return promise;
}
@ -424,9 +428,8 @@ public final class NioDatagramChannel
public ChannelFuture leaveGroup(
InetAddress multicastAddress, NetworkInterface networkInterface, InetAddress source,
ChannelPromise promise) {
if (PlatformDependent.javaVersion() < 7) {
throw new UnsupportedOperationException();
}
checkJavaVersion();
if (multicastAddress == null) {
throw new NullPointerException("multicastAddress");
}
@ -478,9 +481,8 @@ public final class NioDatagramChannel
public ChannelFuture block(
InetAddress multicastAddress, NetworkInterface networkInterface,
InetAddress sourceToBlock, ChannelPromise promise) {
if (PlatformDependent.javaVersion() < 7) {
throw new UnsupportedOperationException();
} else {
checkJavaVersion();
if (multicastAddress == null) {
throw new NullPointerException("multicastAddress");
}
@ -508,7 +510,6 @@ public final class NioDatagramChannel
promise.setSuccess();
return promise;
}
}
/**
* Block the given sourceToBlock address for the given multicastAddress