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 |