diff --git a/common/src/main/java/io/netty/util/AttributeKey.java b/common/src/main/java/io/netty/util/AttributeKey.java index 9c9837bdd6..6b3d65c35b 100644 --- a/common/src/main/java/io/netty/util/AttributeKey.java +++ b/common/src/main/java/io/netty/util/AttributeKey.java @@ -26,16 +26,23 @@ import java.util.concurrent.ConcurrentMap; * * @param the type of the {@link Attribute} which can be accessed via this {@link AttributeKey}. */ -@SuppressWarnings("UnusedDeclaration") // 'T' is used only at compile time +@SuppressWarnings({"UnusedDeclaration", "deprecation"}) // 'T' is used only at compile time public final class AttributeKey extends UniqueName { private static final ConcurrentMap names = PlatformDependent.newConcurrentHashMap(); /** - * Create a new instance - * - * @param name the name under which the {@link AttributeKey} will be registered + * Creates a new {@link AttributeKey} with the specified {@code name}. */ + @SuppressWarnings("deprecation") + public static AttributeKey valueOf(String name) { + return new AttributeKey(name); + } + + /** + * @deprecated Use {@link #valueOf(String)} instead. + */ + @Deprecated public AttributeKey(String name) { super(names, name); } diff --git a/common/src/main/java/io/netty/util/Signal.java b/common/src/main/java/io/netty/util/Signal.java index 8c110aa46f..af9cba8194 100644 --- a/common/src/main/java/io/netty/util/Signal.java +++ b/common/src/main/java/io/netty/util/Signal.java @@ -30,13 +30,21 @@ public final class Signal extends Error { private static final ConcurrentMap map = PlatformDependent.newConcurrentHashMap(); + @SuppressWarnings("deprecation") private final UniqueName uname; /** - * Create a new instance - * - * @param name the name under which it is registered + * Creates a new {@link Signal} with the specified {@code name}. */ + @SuppressWarnings("deprecation") + public static Signal valueOf(String name) { + return new Signal(name); + } + + /** + * @deprecated Use {@link #valueOf(String)} instead. + */ + @Deprecated public Signal(String name) { super(name); uname = new UniqueName(map, name); diff --git a/common/src/main/java/io/netty/util/UniqueName.java b/common/src/main/java/io/netty/util/UniqueName.java index 755d85f9ac..af9d135fcc 100644 --- a/common/src/main/java/io/netty/util/UniqueName.java +++ b/common/src/main/java/io/netty/util/UniqueName.java @@ -19,8 +19,11 @@ import java.util.concurrent.ConcurrentMap; import java.util.concurrent.atomic.AtomicInteger; /** + * @deprecated Known to have problems with class loaders. + * * Defines a name that must be unique in the map that is provided during construction. */ +@Deprecated public class UniqueName implements Comparable { private static final AtomicInteger nextId = new AtomicInteger(); diff --git a/transport-rxtx/src/main/java/io/netty/channel/rxtx/RxtxChannelOption.java b/transport-rxtx/src/main/java/io/netty/channel/rxtx/RxtxChannelOption.java index 57bf250975..adf6f042c7 100644 --- a/transport-rxtx/src/main/java/io/netty/channel/rxtx/RxtxChannelOption.java +++ b/transport-rxtx/src/main/java/io/netty/channel/rxtx/RxtxChannelOption.java @@ -48,6 +48,7 @@ public final class RxtxChannelOption extends ChannelOption { public static final RxtxChannelOption READ_TIMEOUT = new RxtxChannelOption("READ_TIMEOUT"); + @SuppressWarnings("deprecation") private RxtxChannelOption(String name) { super(name); } diff --git a/transport-sctp/src/main/java/io/netty/channel/sctp/SctpChannelOption.java b/transport-sctp/src/main/java/io/netty/channel/sctp/SctpChannelOption.java index 603ecc65fe..88700d1804 100644 --- a/transport-sctp/src/main/java/io/netty/channel/sctp/SctpChannelOption.java +++ b/transport-sctp/src/main/java/io/netty/channel/sctp/SctpChannelOption.java @@ -23,6 +23,7 @@ import java.net.SocketAddress; /** * Option for configuring the SCTP transport */ +@SuppressWarnings("deprecation") public class SctpChannelOption extends ChannelOption { public static final SctpChannelOption SCTP_DISABLE_FRAGMENTS = new SctpChannelOption("SCTP_DISABLE_FRAGMENTS"); @@ -40,6 +41,10 @@ public class SctpChannelOption extends ChannelOption { public static final SctpChannelOption SCTP_SET_PEER_PRIMARY_ADDR = new SctpChannelOption("SCTP_SET_PEER_PRIMARY_ADDR"); + /** + * @deprecated Will be removed in the future release. + */ + @Deprecated protected SctpChannelOption(String name) { super(name); } diff --git a/transport-udt/src/main/java/io/netty/channel/udt/UdtChannelOption.java b/transport-udt/src/main/java/io/netty/channel/udt/UdtChannelOption.java index a45e072a8f..71d02296b0 100644 --- a/transport-udt/src/main/java/io/netty/channel/udt/UdtChannelOption.java +++ b/transport-udt/src/main/java/io/netty/channel/udt/UdtChannelOption.java @@ -47,6 +47,7 @@ public final class UdtChannelOption extends ChannelOption { public static final UdtChannelOption SYSTEM_SEND_BUFFER_SIZE = new UdtChannelOption( "SYSTEM_SEND_BUFFER_SIZE"); + @SuppressWarnings("deprecation") private UdtChannelOption(String name) { super(name); } diff --git a/transport/src/main/java/io/netty/channel/ChannelOption.java b/transport/src/main/java/io/netty/channel/ChannelOption.java index 220791316f..4bacb17363 100644 --- a/transport/src/main/java/io/netty/channel/ChannelOption.java +++ b/transport/src/main/java/io/netty/channel/ChannelOption.java @@ -31,78 +31,61 @@ import java.util.concurrent.ConcurrentMap; * * @param the type of the value which is valid for the {@link ChannelOption} */ +@SuppressWarnings("deprecation") public class ChannelOption extends UniqueName { private static final ConcurrentMap names = PlatformDependent.newConcurrentHashMap(); - public static final ChannelOption ALLOCATOR = - new ChannelOption("ALLOCATOR"); - public static final ChannelOption RCVBUF_ALLOCATOR = - new ChannelOption("RCVBUF_ALLOCATOR"); - public static final ChannelOption MESSAGE_SIZE_ESTIMATOR = - new ChannelOption("MESSAGE_SIZE_ESTIMATOR"); + public static final ChannelOption ALLOCATOR = valueOf("ALLOCATOR"); + public static final ChannelOption RCVBUF_ALLOCATOR = valueOf("RCVBUF_ALLOCATOR"); + public static final ChannelOption MESSAGE_SIZE_ESTIMATOR = valueOf("MESSAGE_SIZE_ESTIMATOR"); - public static final ChannelOption CONNECT_TIMEOUT_MILLIS = - new ChannelOption("CONNECT_TIMEOUT_MILLIS"); - public static final ChannelOption MAX_MESSAGES_PER_READ = - new ChannelOption("MAX_MESSAGES_PER_READ"); - public static final ChannelOption WRITE_SPIN_COUNT = - new ChannelOption("WRITE_SPIN_COUNT"); - public static final ChannelOption WRITE_BUFFER_HIGH_WATER_MARK = - new ChannelOption("WRITE_BUFFER_HIGH_WATER_MARK"); - public static final ChannelOption WRITE_BUFFER_LOW_WATER_MARK = - new ChannelOption("WRITE_BUFFER_LOW_WATER_MARK"); + public static final ChannelOption CONNECT_TIMEOUT_MILLIS = valueOf("CONNECT_TIMEOUT_MILLIS"); + public static final ChannelOption MAX_MESSAGES_PER_READ = valueOf("MAX_MESSAGES_PER_READ"); + public static final ChannelOption WRITE_SPIN_COUNT = valueOf("WRITE_SPIN_COUNT"); + public static final ChannelOption WRITE_BUFFER_HIGH_WATER_MARK = valueOf("WRITE_BUFFER_HIGH_WATER_MARK"); + public static final ChannelOption WRITE_BUFFER_LOW_WATER_MARK = valueOf("WRITE_BUFFER_LOW_WATER_MARK"); - public static final ChannelOption ALLOW_HALF_CLOSURE = - new ChannelOption("ALLOW_HALF_CLOSURE"); - public static final ChannelOption AUTO_READ = - new ChannelOption("AUTO_READ"); + public static final ChannelOption ALLOW_HALF_CLOSURE = valueOf("ALLOW_HALF_CLOSURE"); + public static final ChannelOption AUTO_READ = valueOf("AUTO_READ"); - public static final ChannelOption SO_BROADCAST = - new ChannelOption("SO_BROADCAST"); - public static final ChannelOption SO_KEEPALIVE = - new ChannelOption("SO_KEEPALIVE"); - public static final ChannelOption SO_SNDBUF = - new ChannelOption("SO_SNDBUF"); - public static final ChannelOption SO_RCVBUF = - new ChannelOption("SO_RCVBUF"); - public static final ChannelOption SO_REUSEADDR = - new ChannelOption("SO_REUSEADDR"); - public static final ChannelOption SO_LINGER = - new ChannelOption("SO_LINGER"); - public static final ChannelOption SO_BACKLOG = - new ChannelOption("SO_BACKLOG"); - public static final ChannelOption SO_TIMEOUT = - new ChannelOption("SO_TIMEOUT"); + public static final ChannelOption SO_BROADCAST = valueOf("SO_BROADCAST"); + public static final ChannelOption SO_KEEPALIVE = valueOf("SO_KEEPALIVE"); + public static final ChannelOption SO_SNDBUF = valueOf("SO_SNDBUF"); + public static final ChannelOption SO_RCVBUF = valueOf("SO_RCVBUF"); + public static final ChannelOption SO_REUSEADDR = valueOf("SO_REUSEADDR"); + public static final ChannelOption SO_LINGER = valueOf("SO_LINGER"); + public static final ChannelOption SO_BACKLOG = valueOf("SO_BACKLOG"); + public static final ChannelOption SO_TIMEOUT = valueOf("SO_TIMEOUT"); - public static final ChannelOption IP_TOS = - new ChannelOption("IP_TOS"); - public static final ChannelOption IP_MULTICAST_ADDR = - new ChannelOption("IP_MULTICAST_ADDR"); - public static final ChannelOption IP_MULTICAST_IF = - new ChannelOption("IP_MULTICAST_IF"); - public static final ChannelOption IP_MULTICAST_TTL = - new ChannelOption("IP_MULTICAST_TTL"); - public static final ChannelOption IP_MULTICAST_LOOP_DISABLED = - new ChannelOption("IP_MULTICAST_LOOP_DISABLED"); + public static final ChannelOption IP_TOS = valueOf("IP_TOS"); + public static final ChannelOption IP_MULTICAST_ADDR = valueOf("IP_MULTICAST_ADDR"); + public static final ChannelOption IP_MULTICAST_IF = valueOf("IP_MULTICAST_IF"); + public static final ChannelOption IP_MULTICAST_TTL = valueOf("IP_MULTICAST_TTL"); + public static final ChannelOption IP_MULTICAST_LOOP_DISABLED = valueOf("IP_MULTICAST_LOOP_DISABLED"); - public static final ChannelOption TCP_NODELAY = - new ChannelOption("TCP_NODELAY"); + public static final ChannelOption TCP_NODELAY = valueOf("TCP_NODELAY"); @Deprecated - public static final ChannelOption AIO_READ_TIMEOUT = - new ChannelOption("AIO_READ_TIMEOUT"); + public static final ChannelOption AIO_READ_TIMEOUT = valueOf("AIO_READ_TIMEOUT"); @Deprecated - public static final ChannelOption AIO_WRITE_TIMEOUT = - new ChannelOption("AIO_WRITE_TIMEOUT"); + public static final ChannelOption AIO_WRITE_TIMEOUT = valueOf("AIO_WRITE_TIMEOUT"); @Deprecated public static final ChannelOption DATAGRAM_CHANNEL_ACTIVE_ON_REGISTRATION = - new ChannelOption("DATAGRAM_CHANNEL_ACTIVE_ON_REGISTRATION"); + valueOf("DATAGRAM_CHANNEL_ACTIVE_ON_REGISTRATION"); + /** - * Create a new {@link ChannelOption} with the given name. The name needs to be - * unique. + * Creates a new {@link ChannelOption} with the specified {@code name}. */ + public static ChannelOption valueOf(String name) { + return new ChannelOption(name); + } + + /** + * @deprecated Use {@link #valueOf(String)} instead. + */ + @Deprecated protected ChannelOption(String name) { super(names, name); }