Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 2 | 100.0% | 67.0% | 67.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
net.arccode.wechat.pay.api.common.annotation.ApiField net.arccode.wechat.pay.api.common.annotation.ApiListField |
None | net.arccode.wechat.pay.api.common.util |
java.lang java.lang.annotation |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 1 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | net.arccode.wechat.pay.api.common.constant.WXPayConstants |
None | java.lang |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
5 | 1 | 0.0% | 17.0% | 83.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | net.arccode.wechat.pay.api.common.exception.WXPayApiException |
net.arccode.wechat.pay.api.common.parser net.arccode.wechat.pay.api.common.parser.json net.arccode.wechat.pay.api.common.parser.xml net.arccode.wechat.pay.api.common.util net.arccode.wechat.pay.api.service |
java.lang |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 8 | 0.0% | 89.0% | 11.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | net.arccode.wechat.pay.api.common.log.ACLogger |
net.arccode.wechat.pay.api.service |
java.io java.lang java.net java.text java.util net.arccode.wechat.pay.api.common.util net.arccode.wechat.pay.api.protocol.base org.slf4j |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 2 | 0.0% | 67.0% | 33.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | net.arccode.wechat.pay.api.common.mapping.ACFieldMethod |
net.arccode.wechat.pay.api.common.util |
java.lang java.lang.reflect |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
4 | 4 | 100.0% | 50.0% | 50.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
net.arccode.wechat.pay.api.common.parser.Converter net.arccode.wechat.pay.api.common.parser.Reader net.arccode.wechat.pay.api.common.parser.WXPayParser |
None | net.arccode.wechat.pay.api.common.parser.json net.arccode.wechat.pay.api.common.parser.xml net.arccode.wechat.pay.api.common.util net.arccode.wechat.pay.api.service |
java.lang java.util net.arccode.wechat.pay.api.common.exception net.arccode.wechat.pay.api.protocol.base |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 8 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | net.arccode.wechat.pay.api.common.parser.json.JsonConverter net.arccode.wechat.pay.api.common.parser.json.JsonConverter$1 net.arccode.wechat.pay.api.common.parser.json.ObjectJsonParser |
None | java.lang java.text java.util net.arccode.wechat.pay.api.common.exception net.arccode.wechat.pay.api.common.parser net.arccode.wechat.pay.api.common.util net.arccode.wechat.pay.api.common.util.json net.arccode.wechat.pay.api.protocol.base |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 8 | 0.0% | 89.0% | 11.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | net.arccode.wechat.pay.api.common.parser.xml.ObjectXmlParser net.arccode.wechat.pay.api.common.parser.xml.XmlConverter net.arccode.wechat.pay.api.common.parser.xml.XmlConverter$1 |
net.arccode.wechat.pay.api.service |
java.lang java.text java.util net.arccode.wechat.pay.api.common.exception net.arccode.wechat.pay.api.common.parser net.arccode.wechat.pay.api.common.util net.arccode.wechat.pay.api.protocol.base org.w3c.dom |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
7 | 37 | 0.0% | 84.0% | 16.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | net.arccode.wechat.pay.api.common.util.ACHashMap net.arccode.wechat.pay.api.common.util.Converters net.arccode.wechat.pay.api.common.util.DateUtils net.arccode.wechat.pay.api.common.util.HttpUtils net.arccode.wechat.pay.api.common.util.HttpUtils$1 net.arccode.wechat.pay.api.common.util.ImageUtils net.arccode.wechat.pay.api.common.util.MapUtils net.arccode.wechat.pay.api.common.util.RandomUtils net.arccode.wechat.pay.api.common.util.RequestParametersHolder net.arccode.wechat.pay.api.common.util.SDKUtils net.arccode.wechat.pay.api.common.util.StringUtils net.arccode.wechat.pay.api.common.util.WXPaySignUtils net.arccode.wechat.pay.api.common.util.XmlUtils |
net.arccode.wechat.pay.api.common.log net.arccode.wechat.pay.api.common.parser.json net.arccode.wechat.pay.api.common.parser.xml net.arccode.wechat.pay.api.protocol.mch_pay net.arccode.wechat.pay.api.protocol.refund net.arccode.wechat.pay.api.protocol.unified_order net.arccode.wechat.pay.api.service |
com.squareup.okhttp java.awt.image java.beans java.io java.lang java.lang.reflect java.net java.security java.security.cert java.text java.util java.util.concurrent java.util.regex javax.imageio javax.xml.parsers javax.xml.transform javax.xml.transform.dom javax.xml.transform.stream javax.xml.validation net.arccode.wechat.pay.api.common.annotation net.arccode.wechat.pay.api.common.exception net.arccode.wechat.pay.api.common.mapping net.arccode.wechat.pay.api.common.parser net.arccode.wechat.pay.api.protocol.base org.apache.http org.apache.http.client.config org.apache.http.client.methods org.apache.http.conn org.apache.http.conn.ssl org.apache.http.entity org.apache.http.impl.client org.apache.http.ssl org.apache.http.util org.slf4j org.w3c.dom org.xml.sax sun.misc |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 7 | 22.0% | 88.0% | 10.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
net.arccode.wechat.pay.api.common.util.json.JSONErrorListener net.arccode.wechat.pay.api.common.util.json.JSONReader |
net.arccode.wechat.pay.api.common.util.json.BufferErrorListener net.arccode.wechat.pay.api.common.util.json.ExceptionErrorListener net.arccode.wechat.pay.api.common.util.json.JSONValidatingReader net.arccode.wechat.pay.api.common.util.json.JSONValidatingWriter net.arccode.wechat.pay.api.common.util.json.JSONValidator net.arccode.wechat.pay.api.common.util.json.JSONWriter net.arccode.wechat.pay.api.common.util.json.StdoutStreamErrorListener |
net.arccode.wechat.pay.api.common.parser.json |
java.beans java.io java.lang java.lang.reflect java.math java.text java.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
10 | 3 | 100.0% | 23.0% | 23.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
net.arccode.wechat.pay.api.protocol.base.WXPayRequest net.arccode.wechat.pay.api.protocol.base.WXPayResponse |
None | net.arccode.wechat.pay.api.common.log net.arccode.wechat.pay.api.common.parser net.arccode.wechat.pay.api.common.parser.json net.arccode.wechat.pay.api.common.parser.xml net.arccode.wechat.pay.api.common.util net.arccode.wechat.pay.api.protocol.mch_pay net.arccode.wechat.pay.api.protocol.pay_notify net.arccode.wechat.pay.api.protocol.refund net.arccode.wechat.pay.api.protocol.unified_order net.arccode.wechat.pay.api.service |
java.io java.lang java.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 4 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | net.arccode.wechat.pay.api.protocol.mch_pay.MchPayRequest net.arccode.wechat.pay.api.protocol.mch_pay.MchPayResponse |
None | java.lang java.util net.arccode.wechat.pay.api.common.util net.arccode.wechat.pay.api.protocol.base |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 2 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | net.arccode.wechat.pay.api.protocol.pay_notify.PayNotifyResponse |
None | java.lang net.arccode.wechat.pay.api.protocol.base |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 4 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | net.arccode.wechat.pay.api.protocol.refund.RefundRequest net.arccode.wechat.pay.api.protocol.refund.RefundResponse |
None | java.lang java.util net.arccode.wechat.pay.api.common.util net.arccode.wechat.pay.api.protocol.base |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 4 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | net.arccode.wechat.pay.api.protocol.unified_order.UnifiedOrderRequest net.arccode.wechat.pay.api.protocol.unified_order.UnifiedOrderResponse |
None | java.lang java.util net.arccode.wechat.pay.api.common.util net.arccode.wechat.pay.api.protocol.base |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 11 | 50.0% | 100.0% | 50.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
net.arccode.wechat.pay.api.service.IWXPayClient |
net.arccode.wechat.pay.api.service.WXPayClient |
None | com.squareup.okhttp java.io java.lang java.util net.arccode.wechat.pay.api.common.exception net.arccode.wechat.pay.api.common.log net.arccode.wechat.pay.api.common.parser net.arccode.wechat.pay.api.common.parser.xml net.arccode.wechat.pay.api.common.util net.arccode.wechat.pay.api.protocol.base org.slf4j |
Term | Description |
---|---|
Number of Classes | The number of concrete and abstract classes (and interfaces) in the package is an indicator of the extensibility of the package. |
Afferent Couplings | The number of other packages that depend upon classes within the package is an indicator of the package's responsibility. |
Efferent Couplings | The number of other packages that the classes in the package depend upon is an indicator of the package's independence. |
Abstractness | The ratio of the number of abstract classes (and interfaces) in the analyzed package to the total number of classes in the analyzed package. The range for this metric is 0 to 1, with A=0 indicating a completely concrete package and A=1 indicating a completely abstract package. |
Instability | The ratio of efferent coupling (Ce) to total coupling (Ce / (Ce + Ca)). This metric is an indicator of the package's resilience to change. The range for this metric is 0 to 1, with I=0 indicating a completely stable package and I=1 indicating a completely instable package. |
Distance | The perpendicular distance of a package from the idealized line A + I = 1. This metric is an indicator of the package's balance between abstractness and stability. A package squarely on the main sequence is optimally balanced with respect to its abstractness and stability. Ideal packages are either completely abstract and stable (x=0, y=1) or completely concrete and instable (x=1, y=0). The range for this metric is 0 to 1, with D=0 indicating a package that is coincident with the main sequence and D=1 indicating a package that is as far from the main sequence as possible. |
Cycles | Packages participating in a package dependency cycle are in a deadly embrace with respect to reusability and their release cycle. Package dependency cycles can be easily identified by reviewing the textual reports of dependency cycles. Once these dependency cycles have been identified with JDepend, they can be broken by employing various object-oriented techniques. |