Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
7 | 4 | 0.0% | 36.0% | 64.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.directdemocracyportal.democracy.model.application.Action org.directdemocracyportal.democracy.model.application.Application org.directdemocracyportal.democracy.model.application.Authority org.directdemocracyportal.democracy.model.application.Event org.directdemocracyportal.democracy.model.application.GovernmentPortal org.directdemocracyportal.democracy.model.application.OnlinePoliticalParty org.directdemocracyportal.democracy.model.application.Portal org.directdemocracyportal.democracy.model.application.RoleAction org.directdemocracyportal.democracy.model.application.SecurityRoleType org.directdemocracyportal.democracy.model.application.User org.directdemocracyportal.democracy.model.application.UserRole org.directdemocracyportal.democracy.model.application.UserSession | org.directdemocracyportal.democracy.service org.directdemocracyportal.democracy.service.dao org.directdemocracyportal.democracy.service.dao.hibernate org.directdemocracyportal.democracy.web.controller org.directdemocracyportal.democracy.web.views org.directdemocracyportal.democracy.web.views.dialogs org.directdemocracyportal.democracy.web.views.header | java.lang java.util org.directdemocracyportal.democracy.model.core org.directdemocracyportal.democracy.model.world |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
7 | 3 | 83.0% | 30.000002% | 13.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.directdemocracyportal.democracy.model.core.Agent org.directdemocracyportal.democracy.model.core.BaseEntity org.directdemocracyportal.democracy.model.core.Environment org.directdemocracyportal.democracy.model.core.GroupAgent org.directdemocracyportal.democracy.model.core.Resource | org.directdemocracyportal.democracy.model.core.Role | org.directdemocracyportal.democracy.model.application org.directdemocracyportal.democracy.model.world org.directdemocracyportal.democracy.service org.directdemocracyportal.democracy.service.dao org.directdemocracyportal.democracy.service.dao.hibernate org.directdemocracyportal.democracy.service.governmentloader org.directdemocracyportal.democracy.web.views | java.io java.lang java.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
8 | 3 | 0.0% | 27.000002% | 73.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.directdemocracyportal.democracy.model.world.Country org.directdemocracyportal.democracy.model.world.Document org.directdemocracyportal.democracy.model.world.Election org.directdemocracyportal.democracy.model.world.ElectionType org.directdemocracyportal.democracy.model.world.Government org.directdemocracyportal.democracy.model.world.Government$GovernmentRoles org.directdemocracyportal.democracy.model.world.GovernmentType org.directdemocracyportal.democracy.model.world.Issue org.directdemocracyportal.democracy.model.world.Organisation org.directdemocracyportal.democracy.model.world.Organisation$OrganisationRoles org.directdemocracyportal.democracy.model.world.OrganisationType org.directdemocracyportal.democracy.model.world.Person org.directdemocracyportal.democracy.model.world.PoliticalParty org.directdemocracyportal.democracy.model.world.Region org.directdemocracyportal.democracy.model.world.RegionType org.directdemocracyportal.democracy.model.world.Resolution org.directdemocracyportal.democracy.model.world.Resolution$ResolutionState org.directdemocracyportal.democracy.model.world.Vote org.directdemocracyportal.democracy.model.world.Vote$Position org.directdemocracyportal.democracy.model.world.VoteResult | org.directdemocracyportal.democracy.model.application org.directdemocracyportal.democracy.service org.directdemocracyportal.democracy.service.dao org.directdemocracyportal.democracy.service.dao.hibernate org.directdemocracyportal.democracy.service.governmentloader org.directdemocracyportal.democracy.web.controller org.directdemocracyportal.democracy.web.views org.directdemocracyportal.democracy.web.views.dialogs | java.lang java.util org.directdemocracyportal.democracy.model.core |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 12 | 29.0% | 86.0% | 14.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.directdemocracyportal.democracy.service.PortalService org.directdemocracyportal.democracy.service.UserService | org.directdemocracyportal.democracy.service.OrganisationAlreadyExistException org.directdemocracyportal.democracy.service.PartyAlreadyExistException org.directdemocracyportal.democracy.service.PortalServiceImpl org.directdemocracyportal.democracy.service.UserAlreadyExistException org.directdemocracyportal.democracy.service.UserServiceImpl | org.directdemocracyportal.democracy.service.governmentloader org.directdemocracyportal.democracy.web.controller | java.io java.lang java.util org.directdemocracyportal.democracy.model.application org.directdemocracyportal.democracy.model.core org.directdemocracyportal.democracy.model.world org.directdemocracyportal.democracy.service.command org.directdemocracyportal.democracy.service.dao org.springframework.dao org.springframework.mail org.springframework.mail.javamail org.springframework.security.authentication.encoding |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 1 | 0.0% | 33.0% | 67.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.directdemocracyportal.democracy.service.command.CreatePartyCommand org.directdemocracyportal.democracy.service.command.RegisterCommand | org.directdemocracyportal.democracy.service org.directdemocracyportal.democracy.web.controller | java.lang |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
4 | 7 | 100.0% | 64.0% | 64.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.directdemocracyportal.democracy.service.dao.AgentDAO org.directdemocracyportal.democracy.service.dao.CountryDAO org.directdemocracyportal.democracy.service.dao.DocumentDAO org.directdemocracyportal.democracy.service.dao.EventDAO org.directdemocracyportal.democracy.service.dao.GenericDAO org.directdemocracyportal.democracy.service.dao.GovernmentDAO org.directdemocracyportal.democracy.service.dao.PersonDAO org.directdemocracyportal.democracy.service.dao.PoliticalPartyDAO org.directdemocracyportal.democracy.service.dao.PortalDAO org.directdemocracyportal.democracy.service.dao.RegionDAO org.directdemocracyportal.democracy.service.dao.RoleDAO org.directdemocracyportal.democracy.service.dao.UserDAO org.directdemocracyportal.democracy.service.dao.UserSessionDAO | None | org.directdemocracyportal.democracy.service org.directdemocracyportal.democracy.service.dao.hibernate org.directdemocracyportal.democracy.service.governmentloader org.directdemocracyportal.democracy.web.controller | java.io java.lang java.util org.directdemocracyportal.democracy.model.application org.directdemocracyportal.democracy.model.core org.directdemocracyportal.democracy.model.world org.springframework.dao |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 11 | 8.0% | 100.0% | 8.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.directdemocracyportal.democracy.service.dao.hibernate.GenericHibernateDAO | org.directdemocracyportal.democracy.service.dao.hibernate.HibernateAgentDAO org.directdemocracyportal.democracy.service.dao.hibernate.HibernateCountryDAO org.directdemocracyportal.democracy.service.dao.hibernate.HibernateDocumentDAO org.directdemocracyportal.democracy.service.dao.hibernate.HibernateEventDAO org.directdemocracyportal.democracy.service.dao.hibernate.HibernateGovernmentDAO org.directdemocracyportal.democracy.service.dao.hibernate.HibernatePersonDAO org.directdemocracyportal.democracy.service.dao.hibernate.HibernatePoliticalPartyDAO org.directdemocracyportal.democracy.service.dao.hibernate.HibernatePortalDAO org.directdemocracyportal.democracy.service.dao.hibernate.HibernateRegionDAO org.directdemocracyportal.democracy.service.dao.hibernate.HibernateRoleDAO org.directdemocracyportal.democracy.service.dao.hibernate.HibernateUserDAO org.directdemocracyportal.democracy.service.dao.hibernate.HibernateUserSessionDAO | None | java.io java.lang java.util org.directdemocracyportal.democracy.model.application org.directdemocracyportal.democracy.model.core org.directdemocracyportal.democracy.model.world org.directdemocracyportal.democracy.service.dao org.hibernate.criterion org.springframework.dao org.springframework.orm.hibernate3 org.springframework.orm.hibernate3.support |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 14 | 9.0% | 100.0% | 9.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.directdemocracyportal.democracy.service.governmentloader.GovernmentImporter | org.directdemocracyportal.democracy.service.governmentloader.GovernmentImporterJob org.directdemocracyportal.democracy.service.governmentloader.SwedishGovernmentDocumentImporterImpl org.directdemocracyportal.democracy.service.governmentloader.SwedishGovernmentDocumentImporterImpl$DocumentAnswerPage org.directdemocracyportal.democracy.service.governmentloader.SwedishGovernmentDocumentImporterImpl$DocumentReport org.directdemocracyportal.democracy.service.governmentloader.SwedishGovernmentImporterImpl org.directdemocracyportal.democracy.service.governmentloader.SwedishGovernmentImporterImpl$ActivePoliticalParty org.directdemocracyportal.democracy.service.governmentloader.SwedishGovernmentImporterImpl$Politician org.directdemocracyportal.democracy.service.governmentloader.SwedishParliamentOrganisationStructureImporterImpl org.directdemocracyportal.democracy.service.governmentloader.SwedishParliamentOrganisationStructureImporterImpl$OrgStructureAnswerPage org.directdemocracyportal.democracy.service.governmentloader.SwedishParliamentWebsiteWrapper | None | com.gargoylesoftware.htmlunit com.gargoylesoftware.htmlunit.html java.io java.lang java.net java.text java.util org.apache.commons.logging org.directdemocracyportal.democracy.model.core org.directdemocracyportal.democracy.model.world org.directdemocracyportal.democracy.service org.directdemocracyportal.democracy.service.dao org.quartz org.springframework.context |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
6 | 9 | 0.0% | 60.000004% | 40.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.directdemocracyportal.democracy.web.ApplicationMessageHolder org.directdemocracyportal.democracy.web.ApplicationMessageHolder$MessageConstans org.directdemocracyportal.democracy.web.BeanLocator org.directdemocracyportal.democracy.web.ImageConstants org.directdemocracyportal.democracy.web.StaticContextLoaderListener org.directdemocracyportal.democracy.web.UserState | org.directdemocracyportal.democracy.web.actionlistener org.directdemocracyportal.democracy.web.controller org.directdemocracyportal.democracy.web.main org.directdemocracyportal.democracy.web.views org.directdemocracyportal.democracy.web.views.dialogs org.directdemocracyportal.democracy.web.views.header | java.lang java.util javax.servlet org.springframework.context org.springframework.context.support org.springframework.web.context org.springframework.web.context.support thinwire.ui thinwire.ui.event |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
5 | 3 | 5.0% | 38.0% | 57.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.directdemocracyportal.democracy.web.action.ControllerAction | org.directdemocracyportal.democracy.web.action.AbstractAction org.directdemocracyportal.democracy.web.action.CreatePoliticalPartyAction org.directdemocracyportal.democracy.web.action.JoinPoliticalPartyAction org.directdemocracyportal.democracy.web.action.LoginAction org.directdemocracyportal.democracy.web.action.LogoutAction org.directdemocracyportal.democracy.web.action.NewApplicationInstanceAction org.directdemocracyportal.democracy.web.action.RegisterAction org.directdemocracyportal.democracy.web.action.ShowAllEvents org.directdemocracyportal.democracy.web.action.ShowApplicationHome org.directdemocracyportal.democracy.web.action.ShowGovernmentAction org.directdemocracyportal.democracy.web.action.ShowGovernmentsAction org.directdemocracyportal.democracy.web.action.ShowMembersAction org.directdemocracyportal.democracy.web.action.ShowMyProfileAction org.directdemocracyportal.democracy.web.action.ShowOnlinePoliticalPartyAction org.directdemocracyportal.democracy.web.action.ShowOrganisationAction org.directdemocracyportal.democracy.web.action.ShowPersonAction org.directdemocracyportal.democracy.web.action.ShowPoliticalPartiesAction org.directdemocracyportal.democracy.web.action.ShowUserAction | org.directdemocracyportal.democracy.web.actionlistener org.directdemocracyportal.democracy.web.controller org.directdemocracyportal.democracy.web.main org.directdemocracyportal.democracy.web.views org.directdemocracyportal.democracy.web.views.header | java.io java.lang thinwire.ui |
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 | org.directdemocracyportal.democracy.web.actionlistener.ApplicationActionListener org.directdemocracyportal.democracy.web.actionlistener.ApplicationEventHandler | None | java.lang org.apache.commons.logging org.directdemocracyportal.democracy.web org.directdemocracyportal.democracy.web.action org.directdemocracyportal.democracy.web.controller org.springframework.context org.springframework.context.event thinwire.ui thinwire.ui.event |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 18 | 50.0% | 95.0% | 45.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.directdemocracyportal.democracy.web.controller.Controller | org.directdemocracyportal.democracy.web.controller.FrontController | org.directdemocracyportal.democracy.web.actionlistener | java.lang java.util org.apache.commons.logging org.directdemocracyportal.democracy.model.application org.directdemocracyportal.democracy.model.world org.directdemocracyportal.democracy.service org.directdemocracyportal.democracy.service.command org.directdemocracyportal.democracy.service.dao org.directdemocracyportal.democracy.web org.directdemocracyportal.democracy.web.action org.directdemocracyportal.democracy.web.views org.directdemocracyportal.democracy.web.views.dialogs org.directdemocracyportal.democracy.web.views.header org.springframework.context.i18n org.springframework.web.context thinwire.ui thinwire.ui.layout thinwire.ui.style |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 5 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.directdemocracyportal.democracy.web.main.Main | None | java.lang org.directdemocracyportal.democracy.web org.directdemocracyportal.democracy.web.action thinwire.ui thinwire.ui.event |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 12 | 0.0% | 92.0% | 8.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.directdemocracyportal.democracy.web.views.ActiveUserView org.directdemocracyportal.democracy.web.views.EventsPanel org.directdemocracyportal.democracy.web.views.ExplorerPanel org.directdemocracyportal.democracy.web.views.FooterPanel org.directdemocracyportal.democracy.web.views.GovernmentOverviewPanel org.directdemocracyportal.democracy.web.views.GovernmentsPanel org.directdemocracyportal.democracy.web.views.HeaderPanel org.directdemocracyportal.democracy.web.views.MembersPanel org.directdemocracyportal.democracy.web.views.OnlinePoliticalPartyOverviewPanel org.directdemocracyportal.democracy.web.views.OrganisationOverviewPanel org.directdemocracyportal.democracy.web.views.PersonProfilePanel org.directdemocracyportal.democracy.web.views.PoliticalPartiesPanel org.directdemocracyportal.democracy.web.views.StartContentPanel org.directdemocracyportal.democracy.web.views.UserProfilePanel | org.directdemocracyportal.democracy.web.controller | java.lang java.util org.directdemocracyportal.democracy.model.application org.directdemocracyportal.democracy.model.core org.directdemocracyportal.democracy.model.world org.directdemocracyportal.democracy.web org.directdemocracyportal.democracy.web.action org.directdemocracyportal.democracy.web.views.comparator org.directdemocracyportal.democracy.web.views.header thinwire.ui thinwire.ui.layout thinwire.ui.style |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 3 | 0.0% | 75.0% | 25.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.directdemocracyportal.democracy.web.views.comparator.LongComparator | org.directdemocracyportal.democracy.web.views | java.io java.lang java.util |
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 | org.directdemocracyportal.democracy.web.views.dialogs.AbstractActionDialog org.directdemocracyportal.democracy.web.views.dialogs.AbstractActionDialog$DialogResult org.directdemocracyportal.democracy.web.views.dialogs.CreatePartyDialog org.directdemocracyportal.democracy.web.views.dialogs.CreatePartyDialog$1 org.directdemocracyportal.democracy.web.views.dialogs.CreatePartyDialog$2 org.directdemocracyportal.democracy.web.views.dialogs.ErrorMessageBox org.directdemocracyportal.democracy.web.views.dialogs.LoginDialog org.directdemocracyportal.democracy.web.views.dialogs.LoginDialog$1 org.directdemocracyportal.democracy.web.views.dialogs.LoginDialog$2 org.directdemocracyportal.democracy.web.views.dialogs.RegisterUserDialog org.directdemocracyportal.democracy.web.views.dialogs.RegisterUserDialog$1 org.directdemocracyportal.democracy.web.views.dialogs.RegisterUserDialog$2 | org.directdemocracyportal.democracy.web.controller | java.lang java.util org.directdemocracyportal.democracy.model.application org.directdemocracyportal.democracy.model.world org.directdemocracyportal.democracy.web thinwire.ui thinwire.ui.event thinwire.ui.layout |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 8 | 0.0% | 80.0% | 20.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.directdemocracyportal.democracy.web.views.header.UserPanel org.directdemocracyportal.democracy.web.views.header.WelcomePanel | org.directdemocracyportal.democracy.web.controller org.directdemocracyportal.democracy.web.views | java.lang java.util org.directdemocracyportal.democracy.model.application org.directdemocracyportal.democracy.web org.directdemocracyportal.democracy.web.action thinwire.ui thinwire.ui.layout thinwire.ui.style |
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. |