Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
15 | 7 | 43.0% | 32.0% | 25.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.springframework.batch.core.ChunkListener org.springframework.batch.core.ItemReadListener org.springframework.batch.core.ItemWriteListener org.springframework.batch.core.Job org.springframework.batch.core.JobExecutionListener org.springframework.batch.core.SkipListener org.springframework.batch.core.Step org.springframework.batch.core.StepExecutionListener org.springframework.batch.core.StepListener |
org.springframework.batch.core.BatchStatus org.springframework.batch.core.Entity org.springframework.batch.core.JobExecution org.springframework.batch.core.JobExecutionException org.springframework.batch.core.JobInstance org.springframework.batch.core.JobInterruptedException org.springframework.batch.core.JobParameters org.springframework.batch.core.JobParametersBuilder org.springframework.batch.core.StartLimitExceededException org.springframework.batch.core.StepContribution org.springframework.batch.core.StepExecution org.springframework.batch.core.UnexpectedJobExecutionException |
org.springframework.batch.core.configuration org.springframework.batch.core.configuration.support org.springframework.batch.core.converter org.springframework.batch.core.job org.springframework.batch.core.launch org.springframework.batch.core.launch.support org.springframework.batch.core.listener org.springframework.batch.core.repository org.springframework.batch.core.repository.dao org.springframework.batch.core.repository.support org.springframework.batch.core.resource org.springframework.batch.core.step org.springframework.batch.core.step.item org.springframework.batch.core.step.skip org.springframework.batch.core.step.tasklet |
java.io java.lang java.util org.apache.commons.lang.builder org.springframework.batch.item org.springframework.batch.repeat org.springframework.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 4 | 100.0% | 67.0% | 67.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.springframework.batch.core.configuration.JobFactory org.springframework.batch.core.configuration.JobLocator org.springframework.batch.core.configuration.JobRegistry org.springframework.batch.core.configuration.ListableJobRegistry |
None | org.springframework.batch.core.configuration.support org.springframework.batch.core.launch.support |
java.lang java.util org.springframework.batch.core org.springframework.batch.core.repository |
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.springframework.batch.core.configuration.support.JobRegistryBeanPostProcessor org.springframework.batch.core.configuration.support.MapJobRegistry org.springframework.batch.core.configuration.support.ReferenceJobFactory |
None | java.lang java.util org.springframework.batch.core org.springframework.batch.core.configuration org.springframework.batch.core.repository org.springframework.beans org.springframework.beans.factory org.springframework.beans.factory.config org.springframework.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 5 | 50.0% | 71.0% | 21.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.springframework.batch.core.converter.JobParametersConverter |
org.springframework.batch.core.converter.DefaultJobParametersConverter |
org.springframework.batch.core.launch.support org.springframework.batch.core.resource |
java.lang java.text java.util org.springframework.batch.core org.springframework.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 9 | 50.0% | 100.0% | 50.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.springframework.batch.core.job.AbstractJob |
org.springframework.batch.core.job.SimpleJob |
None | java.lang java.util org.springframework.batch.core org.springframework.batch.core.listener org.springframework.batch.core.repository org.springframework.batch.item org.springframework.batch.repeat org.springframework.beans.factory org.springframework.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 3 | 100.0% | 75.0% | 75.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.springframework.batch.core.launch.JobLauncher |
None | org.springframework.batch.core.launch.support |
java.lang org.springframework.batch.core org.springframework.batch.core.repository |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 18 | 30.000002% | 100.0% | 30.000002% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.springframework.batch.core.launch.support.ExitCodeMapper org.springframework.batch.core.launch.support.ExportedJobLauncher org.springframework.batch.core.launch.support.SystemExiter |
org.springframework.batch.core.launch.support.CommandLineJobRunner org.springframework.batch.core.launch.support.JvmSystemExiter org.springframework.batch.core.launch.support.ScheduledJobParametersFactory org.springframework.batch.core.launch.support.SimpleExportedJobLauncher org.springframework.batch.core.launch.support.SimpleJobLauncher org.springframework.batch.core.launch.support.SimpleJobLauncher$1 org.springframework.batch.core.launch.support.SimpleJvmExitCodeMapper |
None | java.lang java.text java.util org.apache.commons.logging org.springframework.batch.core org.springframework.batch.core.configuration org.springframework.batch.core.converter org.springframework.batch.core.launch org.springframework.batch.core.repository org.springframework.batch.item org.springframework.batch.repeat org.springframework.batch.support org.springframework.beans.factory org.springframework.beans.factory.config org.springframework.context org.springframework.context.support org.springframework.core.task org.springframework.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
4 | 4 | 0.0% | 50.0% | 50.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.springframework.batch.core.listener.ChunkListenerSupport org.springframework.batch.core.listener.CompositeChunkListener org.springframework.batch.core.listener.CompositeExecutionJobListener org.springframework.batch.core.listener.CompositeItemReadListener org.springframework.batch.core.listener.CompositeItemWriteListener org.springframework.batch.core.listener.CompositeSkipListener org.springframework.batch.core.listener.CompositeStepExecutionListener org.springframework.batch.core.listener.ItemListenerSupport org.springframework.batch.core.listener.JobExecutionListenerSupport org.springframework.batch.core.listener.MulticasterBatchListener org.springframework.batch.core.listener.SkipListenerSupport org.springframework.batch.core.listener.StepExecutionListenerSupport org.springframework.batch.core.listener.StepListenerSupport |
org.springframework.batch.core.job org.springframework.batch.core.resource org.springframework.batch.core.step org.springframework.batch.core.step.item |
java.lang java.util org.springframework.batch.core org.springframework.batch.repeat |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
9 | 2 | 17.0% | 18.0% | 65.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.springframework.batch.core.repository.JobRepository |
org.springframework.batch.core.repository.DuplicateJobException org.springframework.batch.core.repository.JobExecutionAlreadyRunningException org.springframework.batch.core.repository.JobInstanceAlreadyCompleteException org.springframework.batch.core.repository.JobRestartException org.springframework.batch.core.repository.NoSuchJobException |
org.springframework.batch.core.configuration org.springframework.batch.core.configuration.support org.springframework.batch.core.job org.springframework.batch.core.launch org.springframework.batch.core.launch.support org.springframework.batch.core.repository.support org.springframework.batch.core.step org.springframework.batch.core.step.item org.springframework.batch.core.step.tasklet |
java.lang org.springframework.batch.core |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 17 | 21.0% | 94.0% | 15.000001% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.springframework.batch.core.repository.dao.AbstractJdbcBatchMetadataDao org.springframework.batch.core.repository.dao.JobExecutionDao org.springframework.batch.core.repository.dao.JobInstanceDao org.springframework.batch.core.repository.dao.StepExecutionDao |
org.springframework.batch.core.repository.dao.JdbcJobExecutionDao org.springframework.batch.core.repository.dao.JdbcJobExecutionDao$JobExecutionRowMapper org.springframework.batch.core.repository.dao.JdbcJobInstanceDao org.springframework.batch.core.repository.dao.JdbcJobInstanceDao$1 org.springframework.batch.core.repository.dao.JdbcJobInstanceDao$ParameterType org.springframework.batch.core.repository.dao.JdbcStepExecutionDao org.springframework.batch.core.repository.dao.JdbcStepExecutionDao$1 org.springframework.batch.core.repository.dao.JdbcStepExecutionDao$2 org.springframework.batch.core.repository.dao.JdbcStepExecutionDao$3 org.springframework.batch.core.repository.dao.JdbcStepExecutionDao$AttributeType org.springframework.batch.core.repository.dao.JdbcStepExecutionDao$StepExecutionRowMapper org.springframework.batch.core.repository.dao.MapJobExecutionDao org.springframework.batch.core.repository.dao.MapJobInstanceDao org.springframework.batch.core.repository.dao.MapStepExecutionDao org.springframework.batch.core.repository.dao.NoSuchObjectException |
org.springframework.batch.core.repository.support |
java.io java.lang java.sql java.util org.apache.commons.lang org.apache.commons.logging org.springframework.batch.core org.springframework.batch.item org.springframework.batch.repeat org.springframework.batch.support.transaction org.springframework.beans.factory org.springframework.dao org.springframework.jdbc.core org.springframework.jdbc.core.support org.springframework.jdbc.support.incrementer org.springframework.jdbc.support.lob org.springframework.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 10 | 0.0% | 100.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.springframework.batch.core.repository.support.JobRepositoryFactoryBean org.springframework.batch.core.repository.support.SimpleJobRepository |
None | java.lang java.util javax.sql org.springframework.batch.core org.springframework.batch.core.repository org.springframework.batch.core.repository.dao org.springframework.batch.item.database.support org.springframework.beans.factory org.springframework.jdbc.core org.springframework.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.springframework.batch.core.resource.StepExecutionPreparedStatementSetter org.springframework.batch.core.resource.StepExecutionResourceProxy |
None | java.io java.lang java.net java.sql java.util org.springframework.batch.core org.springframework.batch.core.converter org.springframework.batch.core.listener org.springframework.beans.factory org.springframework.context org.springframework.core.io org.springframework.jdbc.core org.springframework.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 14 | 38.0% | 88.0% | 25.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.springframework.batch.core.step.AbstractStep org.springframework.batch.core.step.StepExecutionSynchronizer org.springframework.batch.core.step.StepInterruptionPolicy |
org.springframework.batch.core.step.AbstractStep$FatalException org.springframework.batch.core.step.BackportConcurrentStepExecutionSynchronizer org.springframework.batch.core.step.JdkConcurrentStepExecutionSynchronizer org.springframework.batch.core.step.StepExecutionSynchronizerFactory org.springframework.batch.core.step.ThreadStepInterruptionPolicy |
org.springframework.batch.core.step.item org.springframework.batch.core.step.tasklet |
edu.emory.mathcs.backport.java.util.concurrent java.io java.lang java.util java.util.concurrent org.apache.commons.logging org.springframework.batch.core org.springframework.batch.core.listener org.springframework.batch.core.repository org.springframework.batch.item org.springframework.batch.repeat org.springframework.beans.factory org.springframework.core org.springframework.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 27 | 10.0% | 100.0% | 10.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.springframework.batch.core.step.item.AbstractStepFactoryBean org.springframework.batch.core.step.item.ItemHandler |
org.springframework.batch.core.step.item.BatchListenerFactoryHelper org.springframework.batch.core.step.item.BatchListenerFactoryHelper$1 org.springframework.batch.core.step.item.BatchListenerFactoryHelper$2 org.springframework.batch.core.step.item.BatchListenerFactoryHelper$3 org.springframework.batch.core.step.item.DefaultItemFailureHandler org.springframework.batch.core.step.item.ItemOrientedStep org.springframework.batch.core.step.item.ItemOrientedStep$1 org.springframework.batch.core.step.item.ItemOrientedStep$2 org.springframework.batch.core.step.item.ItemOrientedStep$ExceptionHolder org.springframework.batch.core.step.item.ItemSkipPolicyItemHandler org.springframework.batch.core.step.item.ItemSkipPolicyItemHandler$1 org.springframework.batch.core.step.item.RepeatOperationsStepFactoryBean org.springframework.batch.core.step.item.SimpleItemHandler org.springframework.batch.core.step.item.SimpleRetryExceptionHandler org.springframework.batch.core.step.item.SimpleStepFactoryBean org.springframework.batch.core.step.item.SkipLimitStepFactoryBean org.springframework.batch.core.step.item.StatefulRetryStepFactoryBean org.springframework.batch.core.step.item.StatefulRetryStepFactoryBean$StatefulRetryItemHandler org.springframework.batch.core.step.item.StatefulRetryStepFactoryBean$StatefulRetryItemHandler$RetryableItemWriter |
None | java.lang java.util org.apache.commons.logging org.springframework.batch.core org.springframework.batch.core.listener org.springframework.batch.core.repository org.springframework.batch.core.step org.springframework.batch.core.step.skip org.springframework.batch.item org.springframework.batch.item.support org.springframework.batch.repeat org.springframework.batch.repeat.exception org.springframework.batch.repeat.listener org.springframework.batch.repeat.policy org.springframework.batch.repeat.support org.springframework.batch.retry org.springframework.batch.retry.backoff org.springframework.batch.retry.callback org.springframework.batch.retry.listener org.springframework.batch.retry.policy org.springframework.batch.retry.support org.springframework.batch.support org.springframework.beans.factory org.springframework.core.task org.springframework.transaction org.springframework.transaction.support org.springframework.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 4 | 20.0% | 80.0% | 0.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.springframework.batch.core.step.skip.ItemSkipPolicy |
org.springframework.batch.core.step.skip.AlwaysSkipItemSkipPolicy org.springframework.batch.core.step.skip.LimitCheckingItemSkipPolicy org.springframework.batch.core.step.skip.NeverSkipItemSkipPolicy org.springframework.batch.core.step.skip.SkipLimitExceededException |
org.springframework.batch.core.step.item |
java.lang java.util org.springframework.batch.core org.springframework.batch.support |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 8 | 33.0% | 100.0% | 33.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.springframework.batch.core.step.tasklet.Tasklet |
org.springframework.batch.core.step.tasklet.TaskletAdapter org.springframework.batch.core.step.tasklet.TaskletStep |
None | java.lang org.springframework.batch.core org.springframework.batch.core.repository org.springframework.batch.core.step org.springframework.batch.item org.springframework.batch.item.adapter org.springframework.batch.repeat org.springframework.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. |