Fork me on GitHub

Metric Results

[ summary ] [ packages ] [ cycles ] [ explanations ]

The following document contains the results of a JDepend metric analysis. The various metrics are defined at the bottom of this document.

Summary

[ summary ] [ packages ] [ cycles ] [ explanations ]

Package TC CC AC Ca Ce A I D V
fr.paris.lutece.plugins.workflow.modules.notifygru.business 11 10 1 4 11 9.0% 73.0% 18.0% 1
fr.paris.lutece.plugins.workflow.modules.notifygru.service 9 7 2 3 40 22.0% 93.0% 15.000001% 1
fr.paris.lutece.plugins.workflow.modules.notifygru.service.cache 1 1 0 2 5 0.0% 71.0% 29.0% 1
fr.paris.lutece.plugins.workflow.modules.notifygru.service.daemon 1 1 0 0 9 0.0% 100.0% 0.0% 1
fr.paris.lutece.plugins.workflow.modules.notifygru.utils.constants 1 1 0 5 1 0.0% 17.0% 83.0% 1
fr.paris.lutece.plugins.workflow.modules.notifygru.web 7 5 2 2 21 29.0% 91.0% 20.0% 1
fr.paris.lutece.plugins.workflow.modules.notifygru.web.notificationconfig.impl 16 16 0 1 9 0.0% 90.0% 10.0% 1

Packages

[ summary ] [ packages ] [ cycles ] [ explanations ]

fr.paris.lutece.plugins.workflow.modules.notifygru.business

Afferent Couplings Efferent Couplings Abstractness Instability Distance
4 11 9.0% 73.0% 18.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
fr.paris.lutece.plugins.workflow.modules.notifygru.business.INotifyGruHistoryDAO
fr.paris.lutece.plugins.workflow.modules.notifygru.business.AgentHistory
fr.paris.lutece.plugins.workflow.modules.notifygru.business.BroadcastHistory
fr.paris.lutece.plugins.workflow.modules.notifygru.business.EmailHistory
fr.paris.lutece.plugins.workflow.modules.notifygru.business.EventHistory
fr.paris.lutece.plugins.workflow.modules.notifygru.business.GuichetHistory
fr.paris.lutece.plugins.workflow.modules.notifygru.business.NotifyGruHistory
fr.paris.lutece.plugins.workflow.modules.notifygru.business.NotifyGruHistoryDAO
fr.paris.lutece.plugins.workflow.modules.notifygru.business.SMSHistory
fr.paris.lutece.plugins.workflow.modules.notifygru.business.TaskNotifyGruConfig
fr.paris.lutece.plugins.workflow.modules.notifygru.business.TaskNotifyGruConfigDAO
fr.paris.lutece.plugins.workflow.modules.notifygru.service
fr.paris.lutece.plugins.workflow.modules.notifygru.service.cache
fr.paris.lutece.plugins.workflow.modules.notifygru.web
fr.paris.lutece.plugins.workflow.modules.notifygru.web.notificationconfig.impl
fr.paris.lutece.plugins.workflow.modules.notifygru.service
fr.paris.lutece.plugins.workflow.modules.notifygru.service.cache
fr.paris.lutece.plugins.workflow.modules.notifygru.utils.constants
fr.paris.lutece.plugins.workflowcore.business.config
fr.paris.lutece.portal.service.plugin
fr.paris.lutece.portal.service.util
fr.paris.lutece.util.sql
java.lang
java.sql
java.util
org.apache.commons.lang3

fr.paris.lutece.plugins.workflow.modules.notifygru.service

Afferent Couplings Efferent Couplings Abstractness Instability Distance
3 40 22.0% 93.0% 15.000001%
Abstract Classes Concrete Classes Used by Packages Uses Packages
fr.paris.lutece.plugins.workflow.modules.notifygru.service.INotifyGruHistoryService
fr.paris.lutece.plugins.workflow.modules.notifygru.service.INotifyGruService
fr.paris.lutece.plugins.workflow.modules.notifygru.service.NotificationToHistory
fr.paris.lutece.plugins.workflow.modules.notifygru.service.NotifyGruHistoryService
fr.paris.lutece.plugins.workflow.modules.notifygru.service.NotifyGruPlugin
fr.paris.lutece.plugins.workflow.modules.notifygru.service.NotifyGruService
fr.paris.lutece.plugins.workflow.modules.notifygru.service.ServiceConfigTaskForm
fr.paris.lutece.plugins.workflow.modules.notifygru.service.TaskNotifyGru
fr.paris.lutece.plugins.workflow.modules.notifygru.service.TaskNotifyGruConfigService
fr.paris.lutece.plugins.workflow.modules.notifygru.business
fr.paris.lutece.plugins.workflow.modules.notifygru.service.daemon
fr.paris.lutece.plugins.workflow.modules.notifygru.web
fr.paris.lutece.plugins.grubusiness.business.customer
fr.paris.lutece.plugins.grubusiness.business.demand
fr.paris.lutece.plugins.grubusiness.business.notification
fr.paris.lutece.plugins.librarynotifygru.exception
fr.paris.lutece.plugins.librarynotifygru.services
fr.paris.lutece.plugins.workflow.modules.notifygru.business
fr.paris.lutece.plugins.workflow.modules.notifygru.service.cache
fr.paris.lutece.plugins.workflow.modules.notifygru.utils.constants
fr.paris.lutece.plugins.workflow.modules.notifygru.web
fr.paris.lutece.plugins.workflow.service.provider
fr.paris.lutece.plugins.workflow.utils
fr.paris.lutece.plugins.workflowcore.business.action
fr.paris.lutece.plugins.workflowcore.business.config
fr.paris.lutece.plugins.workflowcore.business.resource
fr.paris.lutece.plugins.workflowcore.business.state
fr.paris.lutece.plugins.workflowcore.business.workflow
fr.paris.lutece.plugins.workflowcore.service.action
fr.paris.lutece.plugins.workflowcore.service.config
fr.paris.lutece.plugins.workflowcore.service.provider
fr.paris.lutece.plugins.workflowcore.service.resource
fr.paris.lutece.plugins.workflowcore.service.state
fr.paris.lutece.plugins.workflowcore.service.task
fr.paris.lutece.portal.business.mailinglist
fr.paris.lutece.portal.service.admin
fr.paris.lutece.portal.service.i18n
fr.paris.lutece.portal.service.mail
fr.paris.lutece.portal.service.mailinglist
fr.paris.lutece.portal.service.message
fr.paris.lutece.portal.service.plugin
fr.paris.lutece.portal.service.spring
fr.paris.lutece.portal.service.template
fr.paris.lutece.portal.service.util
fr.paris.lutece.util
fr.paris.lutece.util.html
java.lang
java.sql
java.util
javax.servlet.http
org.apache.commons.collections
org.apache.commons.lang3

fr.paris.lutece.plugins.workflow.modules.notifygru.service.cache

Afferent Couplings Efferent Couplings Abstractness Instability Distance
2 5 0.0% 71.0% 29.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None fr.paris.lutece.plugins.workflow.modules.notifygru.service.cache.NotifyGruCacheService
fr.paris.lutece.plugins.workflow.modules.notifygru.business
fr.paris.lutece.plugins.workflow.modules.notifygru.service
fr.paris.lutece.plugins.workflow.modules.notifygru.business
fr.paris.lutece.plugins.workflowcore.service.config
fr.paris.lutece.portal.service.cache
fr.paris.lutece.portal.service.spring
java.lang

fr.paris.lutece.plugins.workflow.modules.notifygru.service.daemon

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 9 0.0% 100.0% 0.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None fr.paris.lutece.plugins.workflow.modules.notifygru.service.daemon.NotifyHistoryCleanerDaemon
None fr.paris.lutece.plugins.workflow.modules.notifygru.service
fr.paris.lutece.plugins.workflow.modules.notifygru.utils.constants
fr.paris.lutece.plugins.workflow.utils
fr.paris.lutece.portal.service.daemon
fr.paris.lutece.portal.service.spring
fr.paris.lutece.portal.service.util
java.lang
java.sql
java.util

fr.paris.lutece.plugins.workflow.modules.notifygru.utils.constants

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 fr.paris.lutece.plugins.workflow.modules.notifygru.utils.constants.Constants
fr.paris.lutece.plugins.workflow.modules.notifygru.business
fr.paris.lutece.plugins.workflow.modules.notifygru.service
fr.paris.lutece.plugins.workflow.modules.notifygru.service.daemon
fr.paris.lutece.plugins.workflow.modules.notifygru.web
fr.paris.lutece.plugins.workflow.modules.notifygru.web.notificationconfig.impl
java.lang

fr.paris.lutece.plugins.workflow.modules.notifygru.web

Afferent Couplings Efferent Couplings Abstractness Instability Distance
2 21 29.0% 91.0% 20.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
fr.paris.lutece.plugins.workflow.modules.notifygru.web.AbstractNotificationConfigValidator
fr.paris.lutece.plugins.workflow.modules.notifygru.web.INotificationConfig
fr.paris.lutece.plugins.workflow.modules.notifygru.web.NotifyGruTaskComponent
fr.paris.lutece.plugins.workflow.modules.notifygru.web.NotifyGruTaskConfigController
fr.paris.lutece.plugins.workflow.modules.notifygru.web.NotifyGruTaskConfigController$1
fr.paris.lutece.plugins.workflow.modules.notifygru.web.NotifyGruTaskConfigController$Action
fr.paris.lutece.plugins.workflow.modules.notifygru.web.NotifyGruTaskConfigController$View
fr.paris.lutece.plugins.workflow.modules.notifygru.service
fr.paris.lutece.plugins.workflow.modules.notifygru.web.notificationconfig.impl
fr.paris.lutece.plugins.workflow.modules.notifygru.business
fr.paris.lutece.plugins.workflow.modules.notifygru.service
fr.paris.lutece.plugins.workflow.modules.notifygru.utils.constants
fr.paris.lutece.plugins.workflow.modules.notifygru.web.notificationconfig.impl
fr.paris.lutece.plugins.workflow.service.provider
fr.paris.lutece.plugins.workflow.utils
fr.paris.lutece.plugins.workflow.web.task
fr.paris.lutece.plugins.workflowcore.service.config
fr.paris.lutece.plugins.workflowcore.service.provider
fr.paris.lutece.plugins.workflowcore.service.task
fr.paris.lutece.portal.service.i18n
fr.paris.lutece.portal.service.message
fr.paris.lutece.portal.service.spring
fr.paris.lutece.portal.service.template
fr.paris.lutece.portal.service.util
fr.paris.lutece.portal.util.mvc.utils
fr.paris.lutece.util.html
java.lang
java.util
javax.servlet.http
org.apache.commons.lang3

fr.paris.lutece.plugins.workflow.modules.notifygru.web.notificationconfig.impl

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 9 0.0% 90.0% 10.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None fr.paris.lutece.plugins.workflow.modules.notifygru.web.notificationconfig.impl.AgentNotificationConfig
fr.paris.lutece.plugins.workflow.modules.notifygru.web.notificationconfig.impl.AgentNotificationConfig$1
fr.paris.lutece.plugins.workflow.modules.notifygru.web.notificationconfig.impl.AgentNotificationConfig$Validator
fr.paris.lutece.plugins.workflow.modules.notifygru.web.notificationconfig.impl.BillingAccountBasedSMSNotificationConfig
fr.paris.lutece.plugins.workflow.modules.notifygru.web.notificationconfig.impl.BroadcastNotificationConfig
fr.paris.lutece.plugins.workflow.modules.notifygru.web.notificationconfig.impl.BroadcastNotificationConfig$1
fr.paris.lutece.plugins.workflow.modules.notifygru.web.notificationconfig.impl.BroadcastNotificationConfig$Validator
fr.paris.lutece.plugins.workflow.modules.notifygru.web.notificationconfig.impl.EmailNotificationConfig
fr.paris.lutece.plugins.workflow.modules.notifygru.web.notificationconfig.impl.EmailNotificationConfig$1
fr.paris.lutece.plugins.workflow.modules.notifygru.web.notificationconfig.impl.EmailNotificationConfig$Validator
fr.paris.lutece.plugins.workflow.modules.notifygru.web.notificationconfig.impl.GuichetNotificationConfig
fr.paris.lutece.plugins.workflow.modules.notifygru.web.notificationconfig.impl.GuichetNotificationConfig$1
fr.paris.lutece.plugins.workflow.modules.notifygru.web.notificationconfig.impl.GuichetNotificationConfig$Validator
fr.paris.lutece.plugins.workflow.modules.notifygru.web.notificationconfig.impl.SMSNotificationConfig
fr.paris.lutece.plugins.workflow.modules.notifygru.web.notificationconfig.impl.SMSNotificationConfig$1
fr.paris.lutece.plugins.workflow.modules.notifygru.web.notificationconfig.impl.SMSNotificationConfig$Validator
fr.paris.lutece.plugins.workflow.modules.notifygru.web
fr.paris.lutece.plugins.workflow.modules.notifygru.business
fr.paris.lutece.plugins.workflow.modules.notifygru.utils.constants
fr.paris.lutece.plugins.workflow.modules.notifygru.web
fr.paris.lutece.plugins.workflow.utils
java.lang
java.util
javax.servlet.http
org.apache.commons.lang3
org.apache.commons.lang3.math

Cycles

[ summary ] [ packages ] [ cycles ] [ explanations ]

Package Package Dependencies
fr.paris.lutece.plugins.workflow.modules.notifygru.business fr.paris.lutece.plugins.workflow.modules.notifygru.service.cache
fr.paris.lutece.plugins.workflow.modules.notifygru.business
fr.paris.lutece.plugins.workflow.modules.notifygru.service fr.paris.lutece.plugins.workflow.modules.notifygru.business
fr.paris.lutece.plugins.workflow.modules.notifygru.service.cache
fr.paris.lutece.plugins.workflow.modules.notifygru.business
fr.paris.lutece.plugins.workflow.modules.notifygru.service.cache fr.paris.lutece.plugins.workflow.modules.notifygru.business
fr.paris.lutece.plugins.workflow.modules.notifygru.service.cache
fr.paris.lutece.plugins.workflow.modules.notifygru.service.daemon fr.paris.lutece.plugins.workflow.modules.notifygru.service
fr.paris.lutece.plugins.workflow.modules.notifygru.business
fr.paris.lutece.plugins.workflow.modules.notifygru.service.cache
fr.paris.lutece.plugins.workflow.modules.notifygru.business
fr.paris.lutece.plugins.workflow.modules.notifygru.web fr.paris.lutece.plugins.workflow.modules.notifygru.service
fr.paris.lutece.plugins.workflow.modules.notifygru.business
fr.paris.lutece.plugins.workflow.modules.notifygru.service.cache
fr.paris.lutece.plugins.workflow.modules.notifygru.business
fr.paris.lutece.plugins.workflow.modules.notifygru.web.notificationconfig.impl fr.paris.lutece.plugins.workflow.modules.notifygru.web
fr.paris.lutece.plugins.workflow.modules.notifygru.service
fr.paris.lutece.plugins.workflow.modules.notifygru.business
fr.paris.lutece.plugins.workflow.modules.notifygru.service.cache
fr.paris.lutece.plugins.workflow.modules.notifygru.business

Explanation

[ summary ] [ packages ] [ cycles ] [ explanations ]

The following explanations are for quick reference and are lifted directly from the original JDepend documentation.

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.