diff --git a/src/org/redkale/boot/LogFileHandler.java b/src/org/redkale/boot/LogFileHandler.java index 92848e796..194cc0f32 100644 --- a/src/org/redkale/boot/LogFileHandler.java +++ b/src/org/redkale/boot/LogFileHandler.java @@ -22,6 +22,7 @@ import java.util.logging.Formatter; * * @author zhangjx */ +@SuppressWarnings("unchecked") public class LogFileHandler extends Handler { /** diff --git a/src/org/redkale/boot/NodeHttpServer.java b/src/org/redkale/boot/NodeHttpServer.java index e7055f85d..9777d2378 100644 --- a/src/org/redkale/boot/NodeHttpServer.java +++ b/src/org/redkale/boot/NodeHttpServer.java @@ -122,6 +122,7 @@ public class NodeHttpServer extends NodeServer { }, WebSocketNode.class); } + @SuppressWarnings("unchecked") protected void loadHttpFilter(final AnyValue filtersConf, final ClassFilter classFilter) throws Exception { final StringBuilder sb = logger.isLoggable(Level.INFO) ? new StringBuilder() : null; final String threadName = "[" + Thread.currentThread().getName() + "] "; @@ -138,6 +139,7 @@ public class NodeHttpServer extends NodeServer { if (sb != null && sb.length() > 0) logger.log(Level.INFO, sb.toString()); } + @SuppressWarnings("unchecked") protected void loadHttpServlet(final ClassFilter servletFilter, ClassFilter webSocketFilter) throws Exception { final AnyValue servletsConf = this.serverConf.getAnyValue("servlets"); final StringBuilder sb = logger.isLoggable(Level.INFO) ? new StringBuilder() : null; @@ -195,6 +197,7 @@ public class NodeHttpServer extends NodeServer { if (sb != null && sb.length() > 0) logger.log(Level.INFO, sb.toString().trim()); } + @SuppressWarnings("unchecked") protected void loadRestServlet(final ClassFilter webSocketFilter, final AnyValue restConf, final List restedObjects, final StringBuilder sb) throws Exception { if (!rest) return; if (restConf == null) return; //不存在REST服务 diff --git a/src/org/redkale/boot/NodeSncpServer.java b/src/org/redkale/boot/NodeSncpServer.java index c3a7f4175..ea7bfc358 100644 --- a/src/org/redkale/boot/NodeSncpServer.java +++ b/src/org/redkale/boot/NodeSncpServer.java @@ -85,6 +85,7 @@ public class NodeSncpServer extends NodeServer { if (sncpServer != null) loadSncpFilter(this.serverConf.getAnyValue("fliters"), filterFilter); } + @SuppressWarnings("unchecked") protected void loadSncpFilter(final AnyValue servletsConf, final ClassFilter classFilter) throws Exception { final StringBuilder sb = logger.isLoggable(Level.INFO) ? new StringBuilder() : null; final String threadName = "[" + Thread.currentThread().getName() + "] "; @@ -106,6 +107,7 @@ public class NodeSncpServer extends NodeServer { } @Override + @SuppressWarnings("unchecked") protected ClassFilter createFilterClassFilter() { return createClassFilter(null, null, SncpFilter.class, new Class[]{org.redkale.watch.WatchFilter.class}, null, "filters", "filter"); } diff --git a/src/org/redkale/convert/bson/BsonConvert.java b/src/org/redkale/convert/bson/BsonConvert.java index de1df685f..3b3c0f4c2 100644 --- a/src/org/redkale/convert/bson/BsonConvert.java +++ b/src/org/redkale/convert/bson/BsonConvert.java @@ -104,6 +104,7 @@ public final class BsonConvert extends Convert { return convertFrom(type, bytes, 0, bytes.length); } + @SuppressWarnings("unchecked") public T convertFrom(final Type type, final byte[] bytes, final int start, final int len) { if (type == null) return null; final BsonReader in = readerPool.get(); @@ -114,23 +115,27 @@ public final class BsonConvert extends Convert { return rs; } + @SuppressWarnings("unchecked") public T convertFrom(final Type type, final InputStream in) { if (type == null || in == null) return null; return (T) factory.loadDecoder(type).convertFrom(new BsonStreamReader(in)); } @Override + @SuppressWarnings("unchecked") public T convertFrom(final Type type, final ByteBuffer... buffers) { if (type == null || buffers.length < 1) return null; return (T) factory.loadDecoder(type).convertFrom(new BsonByteBufferReader((ConvertMask) null, buffers)); } @Override + @SuppressWarnings("unchecked") public T convertFrom(final Type type, final ConvertMask mask, final ByteBuffer... buffers) { if (type == null || buffers.length < 1) return null; return (T) factory.loadDecoder(type).convertFrom(new BsonByteBufferReader(mask, buffers)); } + @SuppressWarnings("unchecked") public T convertFrom(final Type type, final BsonReader reader) { if (type == null) return null; @SuppressWarnings("unchecked") diff --git a/src/org/redkale/convert/bson/BsonReader.java b/src/org/redkale/convert/bson/BsonReader.java index 9063a00fd..930e8cdbd 100644 --- a/src/org/redkale/convert/bson/BsonReader.java +++ b/src/org/redkale/convert/bson/BsonReader.java @@ -87,6 +87,7 @@ public class BsonReader extends Reader { * 跳过属性的值 */ @Override + @SuppressWarnings("unchecked") public final void skipValue() { if (typeval == 0) return; final byte val = this.typeval; diff --git a/src/org/redkale/convert/ext/InetAddressSimpledCoder.java b/src/org/redkale/convert/ext/InetAddressSimpledCoder.java index 9471d7943..fc9cc2e3e 100644 --- a/src/org/redkale/convert/ext/InetAddressSimpledCoder.java +++ b/src/org/redkale/convert/ext/InetAddressSimpledCoder.java @@ -20,6 +20,7 @@ import java.net.*; * @param Reader输入的子类型 * @param Writer输出的子类型 */ +@SuppressWarnings("unchecked") public final class InetAddressSimpledCoder extends SimpledCoder { public static final InetAddressSimpledCoder instance = new InetAddressSimpledCoder(); @@ -50,6 +51,7 @@ public final class InetAddressSimpledCoder e * @param Reader输入的子类型 * @param Writer输出的子类型 */ + @SuppressWarnings("unchecked") public final static class InetSocketAddressSimpledCoder extends SimpledCoder { public static final InetSocketAddressSimpledCoder instance = new InetSocketAddressSimpledCoder(); diff --git a/src/org/redkale/convert/json/JsonFactory.java b/src/org/redkale/convert/json/JsonFactory.java index a62ad9dae..e7d067698 100644 --- a/src/org/redkale/convert/json/JsonFactory.java +++ b/src/org/redkale/convert/json/JsonFactory.java @@ -20,6 +20,7 @@ import org.redkale.util.*; * * @author zhangjx */ +@SuppressWarnings("unchecked") public final class JsonFactory extends ConvertFactory { private static final JsonFactory instance = new JsonFactory(null, Boolean.getBoolean("convert.json.tiny")); diff --git a/src/org/redkale/net/PrepareServlet.java b/src/org/redkale/net/PrepareServlet.java index 9d78e7139..e3e7a244e 100644 --- a/src/org/redkale/net/PrepareServlet.java +++ b/src/org/redkale/net/PrepareServlet.java @@ -118,6 +118,7 @@ public abstract class PrepareServlet filter, AnyValue conf) { filter._conf = conf; synchronized (filters) { @@ -176,6 +179,7 @@ public abstract class PrepareServlet> T removeFilter(Predicate predicate) { if (this.headFilter == null || predicate == null) return null; synchronized (filters) { @@ -198,10 +202,12 @@ public abstract class PrepareServlet> List getFilters() { return (List) new ArrayList<>(filters); } + @SuppressWarnings("unchecked") public abstract void addServlet(S servlet, Object attachment, AnyValue conf, K... mappings); public final void prepare(final ByteBuffer buffer, final R request, final P response) throws IOException { diff --git a/src/org/redkale/net/Request.java b/src/org/redkale/net/Request.java index 4ef3133ee..862a71db5 100644 --- a/src/org/redkale/net/Request.java +++ b/src/org/redkale/net/Request.java @@ -51,6 +51,7 @@ public abstract class Request { * 返回值:Integer.MIN_VALUE: 帧数据; -1:数据不合法; 0:解析完毕; >0: 需再读取的字节数。 * * @param buffer ByteBuffer对象 + * * @return 缺少的字节数 */ protected abstract int readHeader(ByteBuffer buffer); @@ -59,6 +60,7 @@ public abstract class Request { * 读取buffer,并返回读取的有效数据长度 * * @param buffer ByteBuffer对象 + * * @return 有效数据长度 */ protected abstract int readBody(ByteBuffer buffer); @@ -82,8 +84,9 @@ public abstract class Request { return (T) properties.get(name); } + @SuppressWarnings("unchecked") protected T removeProperty(String name) { - return (T)properties.remove(name); + return (T) properties.remove(name); } protected Map getProperties() { @@ -100,8 +103,9 @@ public abstract class Request { return (T) attributes.get(name); } + @SuppressWarnings("unchecked") public T removeAttribute(String name) { - return (T)attributes.remove(name); + return (T) attributes.remove(name); } public Map getAttributes() { diff --git a/src/org/redkale/net/http/HttpContext.java b/src/org/redkale/net/http/HttpContext.java index ee19c8ae5..a649f0f1b 100644 --- a/src/org/redkale/net/http/HttpContext.java +++ b/src/org/redkale/net/http/HttpContext.java @@ -53,6 +53,7 @@ public class HttpContext extends Context { return responsePool; } + @SuppressWarnings("unchecked") protected Creator loadAsyncHandlerCreator(Class handlerClass) { Creator creator = asyncHandlerCreators.get(handlerClass); if (creator == null) { @@ -62,6 +63,7 @@ public class HttpContext extends Context { return creator; } + @SuppressWarnings("unchecked") private Creator createAsyncHandlerCreator(Class handlerClass) { //生成规则与SncpAsyncHandler.Factory 很类似 //------------------------------------------------------------- diff --git a/src/org/redkale/net/http/HttpResponse.java b/src/org/redkale/net/http/HttpResponse.java index 2a96e9e76..057d60a61 100644 --- a/src/org/redkale/net/http/HttpResponse.java +++ b/src/org/redkale/net/http/HttpResponse.java @@ -186,6 +186,7 @@ public class HttpResponse extends Response { } @Override + @SuppressWarnings("unchecked") protected void thenEvent(Servlet servlet) { this.servlet = servlet; } @@ -248,6 +249,7 @@ public class HttpResponse extends Response { * * @return AsyncHandler AsyncHandler */ + @SuppressWarnings("unchecked") public H createAsyncHandler(Class handlerClass) { if (handlerClass == null || handlerClass == AsyncHandler.class) return (H) createAsyncHandler(); return context.loadAsyncHandlerCreator(handlerClass).create(createAsyncHandler()); @@ -358,6 +360,7 @@ public class HttpResponse extends Response { * @param convert 指定的JsonConvert * @param future 输出对象的句柄 */ + @SuppressWarnings("unchecked") public void finishJson(final JsonConvert convert, final CompletableFuture future) { future.whenComplete((v, e) -> { if (e != null) { @@ -382,6 +385,7 @@ public class HttpResponse extends Response { * @param type 指定的类型 * @param future 输出对象的句柄 */ + @SuppressWarnings("unchecked") public void finishJson(final JsonConvert convert, final Type type, final CompletableFuture future) { future.whenComplete((v, e) -> { if (e != null) { @@ -416,6 +420,7 @@ public class HttpResponse extends Response { * @param convert 指定的JsonConvert * @param result HttpResult对象 */ + @SuppressWarnings("unchecked") public void finishJson(final JsonConvert convert, final HttpResult result) { if (output == null) { finish(""); diff --git a/src/org/redkale/net/http/HttpServer.java b/src/org/redkale/net/http/HttpServer.java index ff23ca617..8d6f71a18 100644 --- a/src/org/redkale/net/http/HttpServer.java +++ b/src/org/redkale/net/http/HttpServer.java @@ -217,6 +217,7 @@ public class HttpServer extends Server T addRestServlet(final ClassLoader classLoader, final String name, final S service, final Class userType, final Class baseServletType, final String prefix) { T servlet = null; final boolean sncp = Sncp.isSncpDyn(service); diff --git a/src/org/redkale/net/http/HttpServlet.java b/src/org/redkale/net/http/HttpServlet.java index 9f88c0ccd..10f76ef95 100644 --- a/src/org/redkale/net/http/HttpServlet.java +++ b/src/org/redkale/net/http/HttpServlet.java @@ -81,6 +81,7 @@ public class HttpServlet extends Servlet } }; + @SuppressWarnings("unchecked") void preInit(HttpContext context, AnyValue config) { String path = _prefix == null ? "" : _prefix; WebServlet ws = this.getClass().getAnnotation(WebServlet.class); diff --git a/src/org/redkale/net/http/WebSocketPacket.java b/src/org/redkale/net/http/WebSocketPacket.java index 8ec53e9ee..ed0e01c98 100644 --- a/src/org/redkale/net/http/WebSocketPacket.java +++ b/src/org/redkale/net/http/WebSocketPacket.java @@ -112,7 +112,7 @@ public final class WebSocketPacket { ByteBuffer[] duplicateSendBuffers() { ByteBuffer[] rs = new ByteBuffer[this.sendBuffers.length]; for (int i = 0; i < this.sendBuffers.length; i++) { - rs[i] = this.sendBuffers[i].duplicate().asReadOnlyBuffer(); + rs[i] = this.sendBuffers[i].duplicate().asReadOnlyBuffer(); //必须使用asReadOnlyBuffer, 否则会导致ByteBuffer对应的byte[]被ObjectPool回收两次 } return rs; } diff --git a/src/org/redkale/util/Attribute.java b/src/org/redkale/util/Attribute.java index f0cc4e40a..fe67f07f9 100644 --- a/src/org/redkale/util/Attribute.java +++ b/src/org/redkale/util/Attribute.java @@ -74,6 +74,7 @@ import static jdk.internal.org.objectweb.asm.Opcodes.*; * @param 字段依附的类 * @param 字段的数据类型 */ +@SuppressWarnings("unchecked") public interface Attribute { /** diff --git a/src/org/redkale/util/Creator.java b/src/org/redkale/util/Creator.java index dd6e43799..bf87e4894 100644 --- a/src/org/redkale/util/Creator.java +++ b/src/org/redkale/util/Creator.java @@ -82,6 +82,7 @@ public interface Creator { String[] value(); + @SuppressWarnings("unchecked") static class CreatorInner { static class SimpleClassVisitor extends ClassVisitor {