FindBugs Bug Detector Report
The following document contains the results of FindBugs
FindBugs Version is 3.0.1
Threshold is medium
Effort is min
Summary
Classes |
Bugs |
Errors |
Missing Classes |
96 |
38 |
0 |
70 |
com.zone.weixin4j.base64.BaseNCodec
Bug |
Category |
Details |
Line |
Priority |
Unread field: com.zone.weixin4j.base64.BaseNCodec.PAD; should this field be static? |
PERFORMANCE |
SS_SHOULD_BE_STATIC |
168 |
Medium |
com.zone.weixin4j.controller.WxController
Bug |
Category |
Details |
Line |
Priority |
Unread field: com.zone.weixin4j.controller.WxController.defaultCharset; should this field be static? |
PERFORMANCE |
SS_SHOULD_BE_STATIC |
30 |
Medium |
com.zone.weixin4j.dispatcher.MessageHandlerExecutor
Bug |
Category |
Details |
Line |
Priority |
new com.zone.weixin4j.dispatcher.MessageHandlerExecutor(WeixinMessageHandler, WeixinMessageInterceptor[]) may expose internal representation by storing an externally mutable object into MessageHandlerExecutor.messageInterceptors |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
39 |
Medium |
com.zone.weixin4j.dispatcher.WeixinMessageDispatcher
Bug |
Category |
Details |
Line |
Priority |
com.zone.weixin4j.dispatcher.WeixinMessageDispatcher.getMessageHandlers() may expose internal representation by returning WeixinMessageDispatcher.messageHandlers |
MALICIOUS_CODE |
EI_EXPOSE_REP |
232 |
Medium |
com.zone.weixin4j.dispatcher.WeixinMessageDispatcher.getMessageInterceptors() may expose internal representation by returning WeixinMessageDispatcher.messageInterceptors |
MALICIOUS_CODE |
EI_EXPOSE_REP |
263 |
Medium |
com.zone.weixin4j.message.ImageMessage
Bug |
Category |
Details |
Line |
Priority |
com.zone.weixin4j.message.ImageMessage doesn't override com.zone.weixin4j.request.WeixinMessage.equals(Object) |
STYLE |
EQ_DOESNT_OVERRIDE_EQUALS |
1 |
Medium |
com.zone.weixin4j.message.LinkMessage
Bug |
Category |
Details |
Line |
Priority |
com.zone.weixin4j.message.LinkMessage doesn't override com.zone.weixin4j.request.WeixinMessage.equals(Object) |
STYLE |
EQ_DOESNT_OVERRIDE_EQUALS |
1 |
Medium |
com.zone.weixin4j.message.LocationMessage
Bug |
Category |
Details |
Line |
Priority |
com.zone.weixin4j.message.LocationMessage doesn't override com.zone.weixin4j.request.WeixinMessage.equals(Object) |
STYLE |
EQ_DOESNT_OVERRIDE_EQUALS |
1 |
Medium |
com.zone.weixin4j.message.TextMessage
Bug |
Category |
Details |
Line |
Priority |
com.zone.weixin4j.message.TextMessage doesn't override com.zone.weixin4j.request.WeixinMessage.equals(Object) |
STYLE |
EQ_DOESNT_OVERRIDE_EQUALS |
1 |
Medium |
com.zone.weixin4j.message.VideoMessage
Bug |
Category |
Details |
Line |
Priority |
com.zone.weixin4j.message.VideoMessage doesn't override com.zone.weixin4j.request.WeixinMessage.equals(Object) |
STYLE |
EQ_DOESNT_OVERRIDE_EQUALS |
1 |
Medium |
com.zone.weixin4j.message.VoiceMessage
Bug |
Category |
Details |
Line |
Priority |
com.zone.weixin4j.message.VoiceMessage doesn't override com.zone.weixin4j.request.WeixinMessage.equals(Object) |
STYLE |
EQ_DOESNT_OVERRIDE_EQUALS |
1 |
Medium |
com.zone.weixin4j.message.event.EventMessage
Bug |
Category |
Details |
Line |
Priority |
com.zone.weixin4j.message.event.EventMessage doesn't override com.zone.weixin4j.request.WeixinMessage.equals(Object) |
STYLE |
EQ_DOESNT_OVERRIDE_EQUALS |
1 |
Medium |
com.zone.weixin4j.message.event.LocationEventMessage
Bug |
Category |
Details |
Line |
Priority |
com.zone.weixin4j.message.event.LocationEventMessage doesn't override com.zone.weixin4j.request.WeixinMessage.equals(Object) |
STYLE |
EQ_DOESNT_OVERRIDE_EQUALS |
1 |
Medium |
com.zone.weixin4j.message.event.MenuEventMessage
Bug |
Category |
Details |
Line |
Priority |
com.zone.weixin4j.message.event.MenuEventMessage doesn't override com.zone.weixin4j.request.WeixinMessage.equals(Object) |
STYLE |
EQ_DOESNT_OVERRIDE_EQUALS |
1 |
Medium |
com.zone.weixin4j.message.event.MenuLocationEventMessage
Bug |
Category |
Details |
Line |
Priority |
com.zone.weixin4j.message.event.MenuLocationEventMessage doesn't override com.zone.weixin4j.request.WeixinMessage.equals(Object) |
STYLE |
EQ_DOESNT_OVERRIDE_EQUALS |
1 |
Medium |
com.zone.weixin4j.message.event.MenuPhotoEventMessage
Bug |
Category |
Details |
Line |
Priority |
com.zone.weixin4j.message.event.MenuPhotoEventMessage doesn't override com.zone.weixin4j.request.WeixinMessage.equals(Object) |
STYLE |
EQ_DOESNT_OVERRIDE_EQUALS |
1 |
Medium |
com.zone.weixin4j.message.event.MenuScanEventMessage
Bug |
Category |
Details |
Line |
Priority |
com.zone.weixin4j.message.event.MenuScanEventMessage doesn't override com.zone.weixin4j.request.WeixinMessage.equals(Object) |
STYLE |
EQ_DOESNT_OVERRIDE_EQUALS |
1 |
Medium |
com.zone.weixin4j.mp.event.KfCloseEventMessage
Bug |
Category |
Details |
Line |
Priority |
com.zone.weixin4j.mp.event.KfCloseEventMessage doesn't override com.zone.weixin4j.request.WeixinMessage.equals(Object) |
STYLE |
EQ_DOESNT_OVERRIDE_EQUALS |
1 |
Medium |
com.zone.weixin4j.mp.event.KfCreateEventMessage
Bug |
Category |
Details |
Line |
Priority |
com.zone.weixin4j.mp.event.KfCreateEventMessage doesn't override com.zone.weixin4j.request.WeixinMessage.equals(Object) |
STYLE |
EQ_DOESNT_OVERRIDE_EQUALS |
1 |
Medium |
com.zone.weixin4j.mp.event.KfSwitchEventMessage
Bug |
Category |
Details |
Line |
Priority |
com.zone.weixin4j.mp.event.KfSwitchEventMessage doesn't override com.zone.weixin4j.request.WeixinMessage.equals(Object) |
STYLE |
EQ_DOESNT_OVERRIDE_EQUALS |
1 |
Medium |
com.zone.weixin4j.mp.event.MassEventMessage
Bug |
Category |
Details |
Line |
Priority |
com.zone.weixin4j.mp.event.MassEventMessage doesn't override com.zone.weixin4j.request.WeixinMessage.equals(Object) |
STYLE |
EQ_DOESNT_OVERRIDE_EQUALS |
1 |
Medium |
com.zone.weixin4j.mp.event.ScanEventMessage
Bug |
Category |
Details |
Line |
Priority |
com.zone.weixin4j.mp.event.ScanEventMessage doesn't override com.zone.weixin4j.request.WeixinMessage.equals(Object) |
STYLE |
EQ_DOESNT_OVERRIDE_EQUALS |
1 |
Medium |
com.zone.weixin4j.mp.event.TemplatesendjobfinishMessage
Bug |
Category |
Details |
Line |
Priority |
com.zone.weixin4j.mp.event.TemplatesendjobfinishMessage doesn't override com.zone.weixin4j.request.WeixinMessage.equals(Object) |
STYLE |
EQ_DOESNT_OVERRIDE_EQUALS |
1 |
Medium |
com.zone.weixin4j.mp.event.VerifyExpireEventMessage
Bug |
Category |
Details |
Line |
Priority |
com.zone.weixin4j.mp.event.VerifyExpireEventMessage doesn't override com.zone.weixin4j.request.WeixinMessage.equals(Object) |
STYLE |
EQ_DOESNT_OVERRIDE_EQUALS |
1 |
Medium |
com.zone.weixin4j.mp.event.VerifyFailEventMessage
Bug |
Category |
Details |
Line |
Priority |
com.zone.weixin4j.mp.event.VerifyFailEventMessage doesn't override com.zone.weixin4j.request.WeixinMessage.equals(Object) |
STYLE |
EQ_DOESNT_OVERRIDE_EQUALS |
1 |
Medium |
com.zone.weixin4j.qy.chat.ChatItem
Bug |
Category |
Details |
Line |
Priority |
Unread field: com.zone.weixin4j.qy.chat.ChatItem.LIST_SEPARATOR; should this field be static? |
PERFORMANCE |
SS_SHOULD_BE_STATIC |
25 |
Medium |
com.zone.weixin4j.qy.event.BatchjobresultMessage
Bug |
Category |
Details |
Line |
Priority |
com.zone.weixin4j.qy.event.BatchjobresultMessage doesn't override com.zone.weixin4j.request.WeixinMessage.equals(Object) |
STYLE |
EQ_DOESNT_OVERRIDE_EQUALS |
1 |
Medium |
com.zone.weixin4j.qy.event.EnterAgentEventMessage
Bug |
Category |
Details |
Line |
Priority |
com.zone.weixin4j.qy.event.EnterAgentEventMessage doesn't override com.zone.weixin4j.request.WeixinMessage.equals(Object) |
STYLE |
EQ_DOESNT_OVERRIDE_EQUALS |
1 |
Medium |
com.zone.weixin4j.socket.WeixinResponseEncoder
Bug |
Category |
Details |
Line |
Priority |
Unread field: com.zone.weixin4j.socket.WeixinResponseEncoder.ELEMENT_CREATETIME; should this field be static? |
PERFORMANCE |
SS_SHOULD_BE_STATIC |
31 |
Medium |
Unread field: com.zone.weixin4j.socket.WeixinResponseEncoder.ELEMENT_ENCRYPT; should this field be static? |
PERFORMANCE |
SS_SHOULD_BE_STATIC |
35 |
Medium |
Unread field: com.zone.weixin4j.socket.WeixinResponseEncoder.ELEMENT_FROMUSERNAME; should this field be static? |
PERFORMANCE |
SS_SHOULD_BE_STATIC |
30 |
Medium |
Unread field: com.zone.weixin4j.socket.WeixinResponseEncoder.ELEMENT_MSGSIGNATURE; should this field be static? |
PERFORMANCE |
SS_SHOULD_BE_STATIC |
34 |
Medium |
Unread field: com.zone.weixin4j.socket.WeixinResponseEncoder.ELEMENT_MSGTYPE; should this field be static? |
PERFORMANCE |
SS_SHOULD_BE_STATIC |
32 |
Medium |
Unread field: com.zone.weixin4j.socket.WeixinResponseEncoder.ELEMENT_NONCE; should this field be static? |
PERFORMANCE |
SS_SHOULD_BE_STATIC |
37 |
Medium |
Unread field: com.zone.weixin4j.socket.WeixinResponseEncoder.ELEMENT_TIMESTAMP; should this field be static? |
PERFORMANCE |
SS_SHOULD_BE_STATIC |
36 |
Medium |
Unread field: com.zone.weixin4j.socket.WeixinResponseEncoder.ELEMENT_TOUSERNAME; should this field be static? |
PERFORMANCE |
SS_SHOULD_BE_STATIC |
29 |
Medium |
Unread field: com.zone.weixin4j.socket.WeixinResponseEncoder.XML_END; should this field be static? |
PERFORMANCE |
SS_SHOULD_BE_STATIC |
38 |
Medium |
Unread field: com.zone.weixin4j.socket.WeixinResponseEncoder.XML_START; should this field be static? |
PERFORMANCE |
SS_SHOULD_BE_STATIC |
27 |
Medium |