Package | TC | CC | AC | Ca | Ce | A | I | D | V |
---|---|---|---|---|---|---|---|---|---|
org.melati | 4 | 4 | 0 | 10 | 11 | 0.0% | 52.0% | 48.0% | 1 |
org.melati.admin | 34 | 32 | 2 | 0 | 12 | 6.0% | 100.0% | 6.0% | 1 |
org.melati.app | 12 | 8 | 4 | 0 | 10 | 33.0% | 100.0% | 33.0% | 1 |
org.melati.login | 11 | 10 | 1 | 4 | 10 | 9.0% | 71.0% | 19.0% | 1 |
org.melati.servlet | 24 | 17 | 7 | 8 | 12 | 29.0% | 60.000004% | 11.0% | 1 |
org.melati.template | 40 | 28 | 12 | 9 | 10 | 30.000002% | 52.999996% | 17.0% | 1 |
org.melati.template.freemarker | 5 | 5 | 0 | 0 | 13 | 0.0% | 100.0% | 0.0% | 1 |
org.melati.template.velocity | 12 | 12 | 0 | 1 | 22 | 0.0% | 96.0% | 4.0% | 1 |
org.melati.template.webmacro | 12 | 10 | 2 | 2 | 13 | 17.0% | 87.0% | 3.0% | 1 |
org.melati.test | 20 | 20 | 0 | 0 | 18 | 0.0% | 100.0% | 0.0% | 1 |
org.melati.util | 69 | 62 | 7 | 10 | 18 | 10.0% | 64.0% | 26.0% | 1 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
10 | 11 | 0.0% | 52.0% | 48.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.melati.LogicalDatabase org.melati.Melati org.melati.MelatiConfig org.melati.PoemContext |
org.melati.admin org.melati.app org.melati.login org.melati.servlet org.melati.template org.melati.template.freemarker org.melati.template.velocity org.melati.template.webmacro org.melati.test org.melati.util |
java.io java.lang java.lang.reflect java.util javax.servlet.http org.melati.login org.melati.poem org.melati.poem.util org.melati.servlet org.melati.template org.melati.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 12 | 6.0% | 100.0% | 6.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.melati.admin.AdminSpecialised org.melati.admin.PoemGvisType |
org.melati.admin.Admin org.melati.admin.Admin$1 org.melati.admin.Admin$2 org.melati.admin.Admin$3 org.melati.admin.Admin$3$1 org.melati.admin.Admin$NullUrlDataAdaptorException org.melati.admin.AdminUtils org.melati.admin.AnticipatedException org.melati.admin.Copy org.melati.admin.Copy$1 org.melati.admin.Copy$2 org.melati.admin.Display org.melati.admin.NonUniqueKeyValueAnticipatedException org.melati.admin.PoemGvisType$1 org.melati.admin.PoemGvisType$10 org.melati.admin.PoemGvisType$11 org.melati.admin.PoemGvisType$12 org.melati.admin.PoemGvisType$13 org.melati.admin.PoemGvisType$14 org.melati.admin.PoemGvisType$15 org.melati.admin.PoemGvisType$16 org.melati.admin.PoemGvisType$17 org.melati.admin.PoemGvisType$2 org.melati.admin.PoemGvisType$3 org.melati.admin.PoemGvisType$4 org.melati.admin.PoemGvisType$5 org.melati.admin.PoemGvisType$6 org.melati.admin.PoemGvisType$7 org.melati.admin.PoemGvisType$8 org.melati.admin.PoemGvisType$9 org.melati.admin.PoemGvisTypeConverter org.melati.admin.Status |
None | java.io java.lang java.util javax.servlet.http org.apache.commons.httpclient org.apache.commons.httpclient.methods org.melati org.melati.poem org.melati.poem.util org.melati.servlet org.melati.template org.melati.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 10 | 33.0% | 100.0% | 33.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.melati.app.AbstractConfigApp org.melati.app.AbstractPoemApp org.melati.app.AbstractTemplateApp org.melati.app.App |
org.melati.app.AbstractPoemApp$1 org.melati.app.ConfigApp org.melati.app.DSDApp org.melati.app.InvalidArgumentsException org.melati.app.JavinatorApp org.melati.app.PoemApp org.melati.app.TemplateApp org.melati.app.UnhandledExceptionException |
None | java.io java.lang java.util org.melati org.melati.login org.melati.poem org.melati.poem.util org.melati.template org.melati.template.webmacro org.melati.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
4 | 10 | 9.0% | 71.0% | 19.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.melati.login.AccessHandler |
org.melati.login.Authorization org.melati.login.CommandLineAccessHandler org.melati.login.HttpAuthorization org.melati.login.HttpAuthorizationMelatiException org.melati.login.HttpBasicAuthenticationAccessHandler org.melati.login.HttpSessionAccessHandler org.melati.login.Login org.melati.login.LoginHandler org.melati.login.Logout org.melati.login.OpenAccessHandler |
org.melati org.melati.app org.melati.servlet org.melati.test |
java.io java.lang javax.servlet.http org.apache.commons.codec.binary org.melati org.melati.poem org.melati.poem.util org.melati.servlet org.melati.template org.melati.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
8 | 12 | 29.0% | 60.000004% | 11.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.melati.servlet.BaseFileFormDataAdaptor org.melati.servlet.ConfigServlet org.melati.servlet.FormDataAdaptor org.melati.servlet.FormDataAdaptorFactory org.melati.servlet.JspServlet org.melati.servlet.PoemServlet org.melati.servlet.TemplateServlet |
org.melati.servlet.DefaultFileFormDataAdaptor org.melati.servlet.DefaultFileFormDataAdaptorFactory org.melati.servlet.Form org.melati.servlet.FormDataAdaptorException org.melati.servlet.InvalidUsageException org.melati.servlet.JspServlet$1 org.melati.servlet.MemoryFormDataAdaptor org.melati.servlet.MemoryFormDataAdaptorFactory org.melati.servlet.MultipartFormDataDecoder org.melati.servlet.MultipartFormField org.melati.servlet.PathInfoException org.melati.servlet.PoemFileFormDataAdaptorFactory org.melati.servlet.PoemServlet$1 org.melati.servlet.PoemServletContextListener org.melati.servlet.TemporaryFileFormDataAdaptor org.melati.servlet.TemporaryFileFormDataAdaptorFactory org.melati.servlet.TrappedException |
org.melati org.melati.admin org.melati.login org.melati.template org.melati.template.freemarker org.melati.template.velocity org.melati.template.webmacro org.melati.test |
java.io java.lang java.util javax.servlet javax.servlet.http javax.servlet.jsp org.melati org.melati.login org.melati.poem org.melati.poem.util org.melati.template org.melati.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
9 | 10 | 30.000002% | 52.999996% | 17.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.melati.template.AbstractMarkupLanguage org.melati.template.AbstractTemplateEngine org.melati.template.AttributeMarkupLanguage org.melati.template.HTMLLikeMarkupLanguage org.melati.template.MarkupLanguage org.melati.template.ServletTemplateContext org.melati.template.ServletTemplateEngine org.melati.template.Template org.melati.template.TemplateContext org.melati.template.TemplateEngine org.melati.template.TempletAdaptor org.melati.template.TempletLoader |
org.melati.template.ClassNameTempletLoader org.melati.template.DayPoemType org.melati.template.FormParameterException org.melati.template.HTMLAttributeMarkupLanguage org.melati.template.HTMLMarkupLanguage org.melati.template.HourPoemType org.melati.template.JSONMarkupLanguage org.melati.template.JavaMarkupLanguage org.melati.template.MinutePoemType org.melati.template.MissingFieldException org.melati.template.MonthPoemType org.melati.template.MultipartTemplateContext org.melati.template.NoTemplateEngine org.melati.template.NotFoundException org.melati.template.PartlyNullException org.melati.template.SecondPoemType org.melati.template.SimpleDateAdaptor org.melati.template.SimpleForm org.melati.template.TemplateEngineException org.melati.template.TemplateIOException org.melati.template.TempletAdaptorConstructionMelatiException org.melati.template.WMLAttributeMarkupLanguage org.melati.template.WMLMarkupLanguage org.melati.template.XMLAttributeMarkupLanguage org.melati.template.XMLMarkupLanguage org.melati.template.YMDDateAdaptor org.melati.template.YMDHMSTimestampAdaptor org.melati.template.YearPoemType |
org.melati org.melati.admin org.melati.app org.melati.login org.melati.servlet org.melati.template.freemarker org.melati.template.velocity org.melati.template.webmacro org.melati.test |
java.io java.lang java.sql java.text java.util javax.servlet.http org.melati org.melati.poem org.melati.servlet org.melati.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 13 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.melati.template.freemarker.FreemarkerServletTemplateContext org.melati.template.freemarker.FreemarkerServletTemplateEngine org.melati.template.freemarker.FreemarkerTemplate org.melati.template.freemarker.FreemarkerTemplateContext org.melati.template.freemarker.FreemarkerTemplateEngine |
None | freemarker.ext.beans freemarker.template java.io java.lang java.util javax.servlet.http org.apache.velocity.exception org.melati org.melati.poem org.melati.servlet org.melati.template org.melati.template.velocity org.melati.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 22 | 0.0% | 96.0% | 4.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.melati.template.velocity.MelatiBufferedVelocityWriter org.melati.template.velocity.MelatiVelocityWriter org.melati.template.velocity.PassbackEvaluationExceptionHandler org.melati.template.velocity.PassbackMethodExceptionEventHandler org.melati.template.velocity.PropagateEvaluationExceptionHandler org.melati.template.velocity.VelocityServletTemplateContext org.melati.template.velocity.VelocityServletTemplateEngine org.melati.template.velocity.VelocityTemplate org.melati.template.velocity.VelocityTemplateContext org.melati.template.velocity.VelocityTemplateEngine org.melati.template.velocity.WebMacroClasspathResourceLoader org.melati.template.velocity.WebMacroConverter |
org.melati.template.freemarker |
java.io java.lang java.lang.reflect java.util javax.servlet.http org.apache.oro.text.perl org.apache.velocity org.apache.velocity.app org.apache.velocity.app.event org.apache.velocity.context org.apache.velocity.exception org.apache.velocity.io org.apache.velocity.runtime org.apache.velocity.runtime.resource.loader org.apache.velocity.util org.apache.velocity.util.introspection org.melati org.melati.poem org.melati.servlet org.melati.template org.melati.util org.webmacro |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 13 | 17.0% | 87.0% | 3.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.melati.template.webmacro.MelatiWebmacroWriter org.melati.template.webmacro.WebmacroMelatiServlet |
org.melati.template.webmacro.MelatiBufferedFastWriter org.melati.template.webmacro.MelatiFastWriter org.melati.template.webmacro.MelatiWebmacroStringWriter org.melati.template.webmacro.PassbackEvaluationExceptionHandler org.melati.template.webmacro.PropagateEvaluationExceptionHandler org.melati.template.webmacro.WebmacroServletTemplateContext org.melati.template.webmacro.WebmacroServletTemplateEngine org.melati.template.webmacro.WebmacroTemplate org.melati.template.webmacro.WebmacroTemplateContext org.melati.template.webmacro.WebmacroTemplateEngine |
org.melati.app org.melati.test |
java.io java.lang java.util javax.servlet.http org.melati org.melati.poem org.melati.servlet org.melati.template org.melati.util org.webmacro org.webmacro.engine org.webmacro.servlet org.webmacro.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 18 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.melati.test.CharData org.melati.test.CharData$1 org.melati.test.CharData$Item org.melati.test.CharsetServletTest org.melati.test.CharsetTemplateServletTest org.melati.test.ConfigServletTest org.melati.test.ConfigServletTestOverride org.melati.test.EmailTemplateServletTest org.melati.test.ExitServlet org.melati.test.FlushingServletTest org.melati.test.HttpAuthenticationPoemServletTest org.melati.test.PoemServletTest org.melati.test.PoemServletTest$1 org.melati.test.RestrictedAccessObject org.melati.test.ServletTest org.melati.test.SessionAnalysisServlet org.melati.test.TemplateServletTest org.melati.test.TemplateServletTestOverride org.melati.test.WebmacroMelatiServletTest org.melati.test.WebmacroStandalone |
None | java.io java.lang java.nio java.nio.charset java.text java.util javax.servlet javax.servlet.http org.melati org.melati.login org.melati.poem org.melati.poem.transaction org.melati.servlet org.melati.template org.melati.template.webmacro org.melati.util org.webmacro org.webmacro.servlet |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
10 | 18 | 10.0% | 64.0% | 26.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.melati.util.Function org.melati.util.HttpHeader$FieldIterator org.melati.util.MelatiException org.melati.util.MelatiRuntimeException org.melati.util.MelatiWriter org.melati.util.PagedEnumeration org.melati.util.PagedEnumerationBase |
org.melati.util.AcceptCharset org.melati.util.AcceptCharset$1 org.melati.util.AcceptCharset$CharsetAndQValue org.melati.util.AcceptCharset$CharsetAndQValueIterator org.melati.util.AcceptCharset$Comparator org.melati.util.BugException org.melati.util.CSVStringEnumeration org.melati.util.CharsetException org.melati.util.ConfigException org.melati.util.ConnectionPendingException org.melati.util.ContextUtil org.melati.util.CountedDumbPagedEnumeration org.melati.util.DatabaseInitException org.melati.util.DelegatedHttpServletRequest org.melati.util.DelimitedBufferedInputStream org.melati.util.DumbPagedEnumeration org.melati.util.Email org.melati.util.EmailException org.melati.util.ExceptionUtils org.melati.util.FileUtils org.melati.util.Flusher org.melati.util.FormatPropertyException org.melati.util.FtellPrintWriter org.melati.util.FtellWriter org.melati.util.HTMLUtils org.melati.util.HTMLUtils$TagInstance org.melati.util.HttpHeader org.melati.util.HttpHeader$HttpHeaderException org.melati.util.HttpHeader$TokenAndQValue org.melati.util.HttpHeader$TokenAndQValueIterator org.melati.util.HttpHeader$Tokenizer org.melati.util.HttpHeader$WordIterator org.melati.util.HttpServletRequestCompat org.melati.util.HttpServletRequestCompat$MissingMethodError org.melati.util.HttpServletRequestParameters org.melati.util.HttpUtil org.melati.util.InstantiationPropertyException org.melati.util.IoUtils org.melati.util.JSDynamicTree org.melati.util.JSStaticTree org.melati.util.MD5Util org.melati.util.MelatiBufferedWriter org.melati.util.MelatiBugMelatiException org.melati.util.MelatiConfigurationException org.melati.util.MelatiIOException org.melati.util.MelatiSimpleWriter org.melati.util.MelatiStringWriter org.melati.util.NoSuchPropertyException org.melati.util.Page org.melati.util.ProcessFailedException org.melati.util.PropertiesUtils org.melati.util.PropertyException org.melati.util.ReconstructedHttpServletRequest org.melati.util.ReconstructedHttpServletRequestMismatchException org.melati.util.ThrowingPrintWriter org.melati.util.ThrowingPrintWriter$SuperUseException org.melati.util.ThrowingPrintWriter$TroubleException org.melati.util.Tree org.melati.util.TreeNode org.melati.util.UTF8URLEncoder org.melati.util.UnexpectedExceptionException org.melati.util.Waiter |
org.melati org.melati.admin org.melati.app org.melati.login org.melati.servlet org.melati.template org.melati.template.freemarker org.melati.template.velocity org.melati.template.webmacro org.melati.test |
java.io java.lang java.lang.reflect java.net java.nio.charset java.security java.util javax.activation javax.mail javax.mail.internet javax.servlet javax.servlet.http javax.swing.text javax.swing.text.html javax.swing.text.html.parser org.melati org.melati.poem org.melati.poem.util |
Package | Package Dependencies |
---|---|
org.melati | org.melati.util org.melati |
org.melati.admin | org.melati.template org.melati org.melati.util org.melati |
org.melati.app | org.melati org.melati.util org.melati |
org.melati.login | org.melati org.melati.util org.melati |
org.melati.servlet | org.melati.util org.melati org.melati.util |
org.melati.template | org.melati org.melati.util org.melati |
org.melati.template.freemarker | org.melati.template org.melati org.melati.util org.melati |
org.melati.template.velocity | org.melati.template org.melati org.melati.util org.melati |
org.melati.template.webmacro | org.melati.template org.melati org.melati.util org.melati |
org.melati.test | org.melati org.melati.util org.melati |
org.melati.util | org.melati org.melati.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. |