| Package | TC | CC | AC | Ca | Ce | A | I | D | V |
|---|---|---|---|---|---|---|---|---|---|
| org.apache.ws.axis.security | 2 | 2 | 0 | 0 | 15 | 0.0% | 100.0% | 0.0% | 1 |
| org.apache.ws.axis.security.handler | 1 | 0 | 1 | 1 | 9 | 100.0% | 90.0% | 90.0% | 1 |
| org.apache.ws.security | 17 | 16 | 1 | 10 | 19 | 6.0% | 66.0% | 29.0% | 1 |
| org.apache.ws.security.action | 9 | 8 | 1 | 2 | 10 | 11.0% | 83.0% | 6.0% | 1 |
| org.apache.ws.security.components.crypto | 8 | 4 | 4 | 6 | 14 | 50.0% | 70.0% | 20.0% | 1 |
| org.apache.ws.security.conversation | 3 | 2 | 1 | 3 | 3 | 33.0% | 50.0% | 17.0% | 1 |
| org.apache.ws.security.conversation.dkalgo | 3 | 2 | 1 | 2 | 4 | 33.0% | 67.0% | 0.0% | 1 |
| org.apache.ws.security.handler | 5 | 4 | 1 | 4 | 23 | 20.0% | 85.0% | 5.0% | 1 |
| org.apache.ws.security.message | 21 | 20 | 1 | 4 | 29 | 5.0% | 88.0% | 7.0% | 1 |
| org.apache.ws.security.message.token | 10 | 10 | 0 | 6 | 19 | 0.0% | 76.0% | 24.0% | 1 |
| org.apache.ws.security.processor | 14 | 12 | 2 | 2 | 23 | 14.0% | 92.0% | 6.0% | 1 |
| org.apache.ws.security.saml | 7 | 5 | 2 | 3 | 26 | 29.0% | 90.0% | 18.0% | 1 |
| org.apache.ws.security.transform | 1 | 1 | 0 | 0 | 12 | 0.0% | 100.0% | 0.0% | 1 |
| org.apache.ws.security.util | 10 | 10 | 0 | 10 | 21 | 0.0% | 68.0% | 32.0% | 1 |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 0 | 15 | 0.0% | 100.0% | 0.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| None | org.apache.ws.axis.security.WSDoAllReceiver org.apache.ws.axis.security.WSDoAllSender |
None | java.io java.lang java.util javax.xml.namespace javax.xml.soap org.apache.axis org.apache.axis.message org.apache.axis.utils org.apache.commons.logging org.apache.ws.axis.security.handler org.apache.ws.security org.apache.ws.security.handler org.apache.ws.security.util org.apache.xml.security.utils org.w3c.dom |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 1 | 9 | 100.0% | 90.0% | 90.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| org.apache.ws.axis.security.handler.WSDoAllHandler |
None | org.apache.ws.axis.security |
java.lang java.util javax.xml.namespace org.apache.axis org.apache.axis.components.logger org.apache.axis.utils org.apache.commons.logging org.apache.ws.security.handler org.w3c.dom |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 10 | 19 | 6.0% | 66.0% | 29.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| org.apache.ws.security.SOAPConstants |
org.apache.ws.security.CustomTokenPrincipal org.apache.ws.security.SOAP11Constants org.apache.ws.security.SOAP12Constants org.apache.ws.security.Todolist org.apache.ws.security.WSConstants org.apache.ws.security.WSDataRef org.apache.ws.security.WSDerivedKeyTokenPrincipal org.apache.ws.security.WSDocInfo org.apache.ws.security.WSDocInfoStore org.apache.ws.security.WSEncryptionPart org.apache.ws.security.WSPasswordCallback org.apache.ws.security.WSSConfig org.apache.ws.security.WSSecurityEngine org.apache.ws.security.WSSecurityEngineResult org.apache.ws.security.WSSecurityException org.apache.ws.security.WSUsernameTokenPrincipal |
org.apache.ws.axis.security org.apache.ws.security.action org.apache.ws.security.components.crypto org.apache.ws.security.handler org.apache.ws.security.message org.apache.ws.security.message.token org.apache.ws.security.processor org.apache.ws.security.saml org.apache.ws.security.transform org.apache.ws.security.util |
java.io java.lang java.rmi java.security java.security.cert java.text java.util javax.security.auth.callback javax.xml.namespace org.apache.commons.logging org.apache.ws.security.action org.apache.ws.security.components.crypto org.apache.ws.security.message.token org.apache.ws.security.processor org.apache.ws.security.util org.apache.xml.security org.apache.xml.security.transforms org.opensaml org.w3c.dom |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 2 | 10 | 11.0% | 83.0% | 6.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| org.apache.ws.security.action.Action |
org.apache.ws.security.action.EncryptionAction org.apache.ws.security.action.SAMLTokenSignedAction org.apache.ws.security.action.SAMLTokenUnsignedAction org.apache.ws.security.action.SignatureAction org.apache.ws.security.action.SignatureConfirmationAction org.apache.ws.security.action.TimestampAction org.apache.ws.security.action.UsernameTokenAction org.apache.ws.security.action.UsernameTokenSignedAction |
org.apache.ws.security org.apache.ws.security.handler |
java.lang java.util javax.xml.namespace org.apache.commons.logging org.apache.ws.security org.apache.ws.security.handler org.apache.ws.security.message org.apache.ws.security.saml org.apache.ws.security.util org.w3c.dom |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 6 | 14 | 50.0% | 70.0% | 20.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| org.apache.ws.security.components.crypto.AbstractCrypto org.apache.ws.security.components.crypto.Crypto org.apache.ws.security.components.crypto.CryptoBase org.apache.ws.security.components.crypto.CryptoFactory |
org.apache.ws.security.components.crypto.BouncyCastle org.apache.ws.security.components.crypto.CredentialException org.apache.ws.security.components.crypto.Merlin org.apache.ws.security.components.crypto.X509NameTokenizer |
org.apache.ws.security org.apache.ws.security.handler org.apache.ws.security.message org.apache.ws.security.message.token org.apache.ws.security.processor org.apache.ws.security.saml |
java.io java.lang java.lang.reflect java.math java.net java.security java.security.cert java.security.interfaces java.text java.util org.apache.commons.logging org.apache.ws.security org.apache.ws.security.util org.apache.xml.security.utils |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 3 | 3 | 33.0% | 50.0% | 17.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| org.apache.ws.security.conversation.ConversationConstants$DerivationAlgorithm |
org.apache.ws.security.conversation.ConversationConstants org.apache.ws.security.conversation.ConversationException |
org.apache.ws.security.conversation.dkalgo org.apache.ws.security.message org.apache.ws.security.message.token |
java.lang java.text java.util |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 2 | 4 | 33.0% | 67.0% | 0.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| org.apache.ws.security.conversation.dkalgo.DerivationAlgorithm |
org.apache.ws.security.conversation.dkalgo.AlgoFactory org.apache.ws.security.conversation.dkalgo.P_SHA1 |
org.apache.ws.security.message org.apache.ws.security.processor |
java.lang javax.crypto javax.crypto.spec org.apache.ws.security.conversation |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 4 | 23 | 20.0% | 85.0% | 5.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| org.apache.ws.security.handler.WSHandler |
org.apache.ws.security.handler.RequestData org.apache.ws.security.handler.WSHandlerConstants org.apache.ws.security.handler.WSHandlerResult org.apache.ws.security.handler.WSS4JHandler |
org.apache.ws.axis.security org.apache.ws.axis.security.handler org.apache.ws.security.action org.apache.ws.security.util |
java.io java.lang java.security java.security.cert java.text java.util javax.security.auth.callback javax.xml.namespace javax.xml.parsers javax.xml.rpc javax.xml.rpc.handler javax.xml.rpc.handler.soap javax.xml.soap javax.xml.transform.stream org.apache.commons.logging org.apache.ws.security org.apache.ws.security.action org.apache.ws.security.components.crypto org.apache.ws.security.message org.apache.ws.security.message.token org.apache.ws.security.util org.apache.xml.security.utils org.w3c.dom |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 4 | 29 | 5.0% | 88.0% | 7.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| org.apache.ws.security.message.WSSecDerivedKeyBase |
org.apache.ws.security.message.EnvelopeIdResolver org.apache.ws.security.message.WSAddSignatureConfirmation org.apache.ws.security.message.WSAddTimestamp org.apache.ws.security.message.WSBaseMessage org.apache.ws.security.message.WSEncryptBody org.apache.ws.security.message.WSSAddSAMLToken org.apache.ws.security.message.WSSAddUsernameToken org.apache.ws.security.message.WSSecBase org.apache.ws.security.message.WSSecDKEncrypt org.apache.ws.security.message.WSSecDKSign org.apache.ws.security.message.WSSecEncrypt org.apache.ws.security.message.WSSecEncryptedKey org.apache.ws.security.message.WSSecHeader org.apache.ws.security.message.WSSecSAMLToken org.apache.ws.security.message.WSSecSecurityContextToken org.apache.ws.security.message.WSSecSignature org.apache.ws.security.message.WSSecSignatureConfirmation org.apache.ws.security.message.WSSecTimestamp org.apache.ws.security.message.WSSecUsernameToken org.apache.ws.security.message.WSSignEnvelope |
org.apache.ws.security.action org.apache.ws.security.handler org.apache.ws.security.processor org.apache.ws.security.saml |
java.io java.lang java.security java.security.cert java.util javax.crypto javax.xml.namespace org.apache.commons.logging org.apache.ws.security org.apache.ws.security.components.crypto org.apache.ws.security.conversation org.apache.ws.security.conversation.dkalgo org.apache.ws.security.message.token org.apache.ws.security.saml org.apache.ws.security.util org.apache.xml.security.algorithms org.apache.xml.security.encryption org.apache.xml.security.exceptions org.apache.xml.security.keys org.apache.xml.security.keys.content org.apache.xml.security.keys.content.x509 org.apache.xml.security.signature org.apache.xml.security.transforms org.apache.xml.security.transforms.params org.apache.xml.security.utils org.apache.xml.security.utils.resolver org.apache.xml.utils org.opensaml org.w3c.dom |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 6 | 19 | 0.0% | 76.0% | 24.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| None | org.apache.ws.security.message.token.BinarySecurity org.apache.ws.security.message.token.DerivedKeyToken org.apache.ws.security.message.token.PKIPathSecurity org.apache.ws.security.message.token.Reference org.apache.ws.security.message.token.SecurityContextToken org.apache.ws.security.message.token.SecurityTokenReference org.apache.ws.security.message.token.SignatureConfirmation org.apache.ws.security.message.token.Timestamp org.apache.ws.security.message.token.UsernameToken org.apache.ws.security.message.token.X509Security |
org.apache.ws.security org.apache.ws.security.handler org.apache.ws.security.message org.apache.ws.security.processor org.apache.ws.security.saml org.apache.ws.security.transform |
java.io java.lang java.security java.security.cert java.text java.util javax.crypto javax.crypto.spec javax.security.auth.callback javax.xml.namespace org.apache.commons.logging org.apache.ws.security org.apache.ws.security.components.crypto org.apache.ws.security.conversation org.apache.ws.security.util org.apache.xml.security.exceptions org.apache.xml.security.keys.content org.apache.xml.security.keys.content.x509 org.w3c.dom |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 2 | 23 | 14.0% | 92.0% | 6.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| org.apache.ws.security.processor.Processor org.apache.ws.security.processor.ProcessorBase |
org.apache.ws.security.processor.BinarySecurityTokenProcessor org.apache.ws.security.processor.DerivedKeyTokenProcessor org.apache.ws.security.processor.EncryptedDataProcessor org.apache.ws.security.processor.EncryptedKeyProcessor org.apache.ws.security.processor.ReferenceListProcessor org.apache.ws.security.processor.SAMLTokenProcessor org.apache.ws.security.processor.SecurityContextTokenProcessor org.apache.ws.security.processor.SignatureConfirmationProcessor org.apache.ws.security.processor.SignatureProcessor org.apache.ws.security.processor.TimestampProcessor org.apache.ws.security.processor.UsernameTokenProcessor org.apache.ws.security.processor.X509Util |
org.apache.ws.security org.apache.ws.security.saml |
java.io java.lang java.security java.security.cert java.text java.util javax.crypto javax.security.auth.callback javax.xml.namespace org.apache.commons.logging org.apache.ws.security org.apache.ws.security.components.crypto org.apache.ws.security.conversation.dkalgo org.apache.ws.security.message org.apache.ws.security.message.token org.apache.ws.security.saml org.apache.ws.security.util org.apache.xml.security.encryption org.apache.xml.security.exceptions org.apache.xml.security.keys org.apache.xml.security.signature org.opensaml org.w3c.dom |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 3 | 26 | 29.0% | 90.0% | 18.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| org.apache.ws.security.saml.SAMLIssuer org.apache.ws.security.saml.SAMLIssuerFactory |
org.apache.ws.security.saml.SAMLIssuerImpl org.apache.ws.security.saml.SAMLKeyInfo org.apache.ws.security.saml.SAMLUtil org.apache.ws.security.saml.WSSecSignatureSAML org.apache.ws.security.saml.WSSignSAMLEnvelope |
org.apache.ws.security.action org.apache.ws.security.message org.apache.ws.security.processor |
java.lang java.lang.reflect java.net java.security java.security.cert java.util javax.security.auth.callback javax.xml.namespace org.apache.commons.logging org.apache.ws.security org.apache.ws.security.components.crypto org.apache.ws.security.message org.apache.ws.security.message.token org.apache.ws.security.processor org.apache.ws.security.util org.apache.xml.security.algorithms org.apache.xml.security.exceptions org.apache.xml.security.keys org.apache.xml.security.keys.content org.apache.xml.security.keys.content.x509 org.apache.xml.security.signature org.apache.xml.security.transforms org.apache.xml.security.transforms.params org.apache.xml.security.utils org.opensaml org.w3c.dom |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 0 | 12 | 0.0% | 100.0% | 0.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| None | org.apache.ws.security.transform.STRTransform |
None | java.io java.lang java.security.cert org.apache.commons.logging org.apache.ws.security org.apache.ws.security.message.token org.apache.ws.security.util org.apache.xml.security.c14n org.apache.xml.security.signature org.apache.xml.security.transforms org.apache.xml.security.utils org.w3c.dom |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 10 | 21 | 0.0% | 68.0% | 32.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| None | org.apache.ws.security.util.Base64 org.apache.ws.security.util.DOM2Writer org.apache.ws.security.util.Loader org.apache.ws.security.util.Mapping org.apache.ws.security.util.NSStack org.apache.ws.security.util.StringUtil org.apache.ws.security.util.UUIDGenerator org.apache.ws.security.util.WSSecurityUtil org.apache.ws.security.util.XMLUtils org.apache.ws.security.util.XmlSchemaDateFormat |
org.apache.ws.axis.security org.apache.ws.security org.apache.ws.security.action org.apache.ws.security.components.crypto org.apache.ws.security.handler org.apache.ws.security.message org.apache.ws.security.message.token org.apache.ws.security.processor org.apache.ws.security.saml org.apache.ws.security.transform |
java.io java.lang java.lang.reflect java.net java.security java.security.cert java.text java.util javax.crypto javax.crypto.spec javax.xml.namespace javax.xml.transform javax.xml.transform.dom javax.xml.transform.sax javax.xml.transform.stream org.apache.commons.logging org.apache.ws.security org.apache.ws.security.handler org.apache.xml.security.algorithms org.w3c.dom org.xml.sax |
| Package | Package Dependencies |
|---|---|
| org.apache.ws.axis.security | org.apache.ws.axis.security.handler org.apache.ws.security.handler org.apache.ws.security.message org.apache.ws.security.util org.apache.ws.security org.apache.ws.security.components.crypto org.apache.ws.security.util |
| org.apache.ws.axis.security.handler | org.apache.ws.security.handler org.apache.ws.security.message org.apache.ws.security.util org.apache.ws.security org.apache.ws.security.components.crypto org.apache.ws.security.util |
| org.apache.ws.security | org.apache.ws.security.components.crypto org.apache.ws.security.util org.apache.ws.security |
| org.apache.ws.security.action | org.apache.ws.security.handler org.apache.ws.security.message org.apache.ws.security.util org.apache.ws.security org.apache.ws.security.components.crypto org.apache.ws.security.util |
| org.apache.ws.security.components.crypto | org.apache.ws.security.util org.apache.ws.security org.apache.ws.security.components.crypto |
| org.apache.ws.security.handler | org.apache.ws.security.message org.apache.ws.security.util org.apache.ws.security org.apache.ws.security.components.crypto org.apache.ws.security.util |
| org.apache.ws.security.message | org.apache.ws.security.util org.apache.ws.security org.apache.ws.security.components.crypto org.apache.ws.security.util |
| org.apache.ws.security.message.token | org.apache.ws.security.util org.apache.ws.security org.apache.ws.security.components.crypto org.apache.ws.security.util |
| org.apache.ws.security.processor | org.apache.ws.security.message.token org.apache.ws.security.util org.apache.ws.security org.apache.ws.security.components.crypto org.apache.ws.security.util |
| org.apache.ws.security.saml | org.apache.ws.security.components.crypto org.apache.ws.security.util org.apache.ws.security org.apache.ws.security.components.crypto |
| org.apache.ws.security.transform | org.apache.ws.security.message.token org.apache.ws.security.util org.apache.ws.security org.apache.ws.security.components.crypto org.apache.ws.security.util |
| org.apache.ws.security.util | org.apache.ws.security org.apache.ws.security.components.crypto org.apache.ws.security.util |
| 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. |