Package | TC | CC | AC | Ca | Ce | A | I | D | V |
---|---|---|---|---|---|---|---|---|---|
org.apache.bval.cdi | 11 | 8 | 3 | 1 | 11 | 27.000002% | 92.0% | 19.0% | 1 |
org.apache.bval.constraints | 36 | 29 | 7 | 0 | 10 | 19.0% | 100.0% | 19.0% | 1 |
org.apache.bval.el | 5 | 4 | 1 | 0 | 4 | 20.0% | 100.0% | 20.0% | 1 |
org.apache.bval.jsr | 10 | 6 | 4 | 3 | 13 | 40.0% | 81.0% | 21.0% | 1 |
org.apache.bval.jsr.descriptor | 15 | 11 | 4 | 2 | 14 | 27.000002% | 88.0% | 14.0% | 1 |
org.apache.bval.jsr.groups | 3 | 3 | 0 | 3 | 4 | 0.0% | 57.0% | 43.0% | 1 |
org.apache.bval.jsr.job | 15 | 13 | 2 | 1 | 16 | 13.0% | 94.0% | 7.0% | 1 |
org.apache.bval.jsr.metadata | 45 | 33 | 12 | 3 | 12 | 27.000002% | 80.0% | 7.0% | 1 |
org.apache.bval.jsr.resolver | 6 | 5 | 1 | 0 | 9 | 17.0% | 100.0% | 17.0% | 1 |
org.apache.bval.jsr.util | 23 | 21 | 2 | 4 | 12 | 9.0% | 75.0% | 16.0% | 1 |
org.apache.bval.jsr.valueextraction | 12 | 9 | 3 | 1 | 9 | 25.0% | 90.0% | 15.000001% | 1 |
org.apache.bval.jsr.xml | 29 | 28 | 1 | 0 | 8 | 3.0% | 100.0% | 3.0% | 1 |
org.apache.bval.util | 15 | 12 | 3 | 7 | 7 | 20.0% | 50.0% | 30.000002% | 1 |
org.apache.bval.util.reflection | 7 | 7 | 0 | 5 | 4 | 0.0% | 44.0% | 56.0% | 1 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 11 | 27.000002% | 92.0% | 19.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.bval.cdi.BValBinding org.apache.bval.cdi.BValExtension$AnnotatedTypeFilter org.apache.bval.cdi.EmptyAnnotationLiteral |
org.apache.bval.cdi.AnyLiteral org.apache.bval.cdi.BValAnnotatedType$BValBindingLiteral org.apache.bval.cdi.BValExtension$Releasable org.apache.bval.cdi.BValInterceptorBean org.apache.bval.cdi.BValInterceptorBean$BValInterceptorInjectionPoint org.apache.bval.cdi.DefaultLiteral org.apache.bval.cdi.ValidatorBean org.apache.bval.cdi.ValidatorFactoryBean |
org.apache.bval.jsr.util |
jakarta.enterprise.context jakarta.enterprise.context.spi jakarta.enterprise.inject jakarta.enterprise.inject.spi jakarta.enterprise.util jakarta.validation java.lang java.lang.annotation java.lang.reflect java.util java.util.function |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 10 | 19.0% | 100.0% | 19.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.bval.constraints.AbstractPatternValidator org.apache.bval.constraints.AbstractPatternValidator$PatternDescriptor org.apache.bval.constraints.Email org.apache.bval.constraints.NotEmpty org.apache.bval.constraints.NotEmpty$List org.apache.bval.constraints.NumberSignValidator org.apache.bval.constraints.SizeValidator |
org.apache.bval.constraints.AssertFalseValidator org.apache.bval.constraints.AssertTrueValidator org.apache.bval.constraints.DecimalMaxValidator$ForNumber org.apache.bval.constraints.DecimalMaxValidator$ForString org.apache.bval.constraints.DecimalMinValidator$ForNumber org.apache.bval.constraints.DecimalMinValidator$ForString org.apache.bval.constraints.DigitsValidatorForNumber org.apache.bval.constraints.DigitsValidatorForString org.apache.bval.constraints.EmailValidator$1 org.apache.bval.constraints.MaxValidatorForNumber org.apache.bval.constraints.MaxValidatorForString org.apache.bval.constraints.MinValidatorForNumber org.apache.bval.constraints.MinValidatorForString org.apache.bval.constraints.NotEmptyValidator org.apache.bval.constraints.NotEmptyValidatorForCharSequence org.apache.bval.constraints.NotEmptyValidatorForCollection org.apache.bval.constraints.NotEmptyValidatorForMap org.apache.bval.constraints.NotNullValidator org.apache.bval.constraints.NullValidator org.apache.bval.constraints.PatternValidator$1 org.apache.bval.constraints.SizeValidator$ForArray$OfBoolean org.apache.bval.constraints.SizeValidator$ForArray$OfByte org.apache.bval.constraints.SizeValidator$ForArray$OfChar org.apache.bval.constraints.SizeValidator$ForArray$OfDouble org.apache.bval.constraints.SizeValidator$ForArray$OfFloat org.apache.bval.constraints.SizeValidator$ForArray$OfInt org.apache.bval.constraints.SizeValidator$ForArray$OfLong org.apache.bval.constraints.SizeValidator$ForArray$OfObject org.apache.bval.constraints.SizeValidator$ForArray$OfShort |
None | jakarta.validation jakarta.validation.constraints java.lang java.lang.annotation java.lang.reflect java.math java.util java.util.function java.util.regex org.apache.bval.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 4 | 20.0% | 100.0% | 20.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.bval.el.MessageEvaluator |
org.apache.bval.el.ELFacade$BValELContext org.apache.bval.el.ELFacade$BValFormatter org.apache.bval.el.ELFacade$BValFunctionMapper org.apache.bval.el.ELFacade$BValVariableMapper |
None | jakarta.el java.lang java.lang.reflect java.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
3 | 13 | 40.0% | 81.0% | 21.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.bval.jsr.ApacheMessageContext org.apache.bval.jsr.ApacheValidatorConfiguration org.apache.bval.jsr.ApacheValidatorConfiguration$Properties org.apache.bval.jsr.CascadingPropertyValidator |
org.apache.bval.jsr.ApacheFactoryContext org.apache.bval.jsr.BootstrapConfigurationImpl org.apache.bval.jsr.ConstraintAnnotationAttributes$Types org.apache.bval.jsr.DefaultMessageInterpolator$1 org.apache.bval.jsr.DefaultMessageInterpolator$ComputedMessageKey org.apache.bval.jsr.DefaultMessageInterpolator$MessageWithParamsKey |
org.apache.bval.jsr.descriptor org.apache.bval.jsr.job org.apache.bval.jsr.metadata |
jakarta.validation jakarta.validation.executable jakarta.validation.valueextraction java.lang java.lang.annotation java.util java.util.concurrent java.util.function org.apache.bval.jsr.descriptor org.apache.bval.jsr.groups org.apache.bval.jsr.util org.apache.bval.jsr.valueextraction org.apache.commons.weaver.privilizer |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 14 | 27.000002% | 88.0% | 14.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.bval.jsr.descriptor.ElementD org.apache.bval.jsr.descriptor.ElementD$NonRoot org.apache.bval.jsr.descriptor.PropertyD org.apache.bval.jsr.descriptor.package-info |
org.apache.bval.jsr.descriptor.ConstraintD$1 org.apache.bval.jsr.descriptor.ConstraintD$Optionality org.apache.bval.jsr.descriptor.ConstructorD org.apache.bval.jsr.descriptor.ContainerElementTypeD org.apache.bval.jsr.descriptor.CrossParameterD org.apache.bval.jsr.descriptor.MetadataReader$ForConstructor org.apache.bval.jsr.descriptor.MetadataReader$ForMethod org.apache.bval.jsr.descriptor.MethodD org.apache.bval.jsr.descriptor.ParameterD org.apache.bval.jsr.descriptor.PropertyD$ForField org.apache.bval.jsr.descriptor.PropertyD$ForMethod |
org.apache.bval.jsr org.apache.bval.jsr.job |
jakarta.validation jakarta.validation.metadata java.lang java.lang.annotation java.lang.reflect java.util java.util.stream org.apache.bval.jsr org.apache.bval.jsr.groups org.apache.bval.jsr.metadata org.apache.bval.jsr.util org.apache.bval.util org.apache.bval.util.reflection org.apache.commons.weaver.privilizer |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
3 | 4 | 0.0% | 57.0% | 43.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.apache.bval.jsr.groups.Group org.apache.bval.jsr.groups.GroupConversion$Builder org.apache.bval.jsr.groups.GroupStrategy$1 |
org.apache.bval.jsr org.apache.bval.jsr.descriptor org.apache.bval.jsr.job |
jakarta.validation.groups java.lang java.util java.util.function |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 16 | 13.0% | 94.0% | 7.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.bval.jsr.job.ValidateProperty$Step org.apache.bval.jsr.job.ValidateProperty$Strategy |
org.apache.bval.jsr.job.ComputeConstraintValidatorClass$1 org.apache.bval.jsr.job.ValidateExecutable$1 org.apache.bval.jsr.job.ValidateProperty$DescriptorWrapper org.apache.bval.jsr.job.ValidateProperty$ForPropertyValue org.apache.bval.jsr.job.ValidateProperty$LeafFrame org.apache.bval.jsr.job.ValidateProperty$PropertyFrame org.apache.bval.jsr.job.ValidateProperty$TypeWrapper org.apache.bval.jsr.job.ValidateProperty$WalkGraph$1 org.apache.bval.jsr.job.ValidateReturnValue$ForConstructor$1 org.apache.bval.jsr.job.ValidateReturnValue$ForMethod$1 org.apache.bval.jsr.job.ValidationJob$ContainerElementCascadeFrame org.apache.bval.jsr.job.ValidationJob$ContainerElementConstraintsFrame org.apache.bval.jsr.job.ValidationJobFactory |
org.apache.bval.jsr.util |
jakarta.validation jakarta.validation.constraintvalidation jakarta.validation.metadata jakarta.validation.valueextraction java.lang java.lang.annotation java.lang.reflect java.util java.util.function org.apache.bval.jsr org.apache.bval.jsr.descriptor org.apache.bval.jsr.groups org.apache.bval.jsr.metadata org.apache.bval.jsr.util org.apache.bval.util org.apache.bval.util.reflection |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
3 | 12 | 27.000002% | 80.0% | 7.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.bval.jsr.metadata.HasAnnotationBehavior org.apache.bval.jsr.metadata.HierarchyBuilder$ElementDelegate org.apache.bval.jsr.metadata.HierarchyBuilder$HierarchyDelegate org.apache.bval.jsr.metadata.Meta org.apache.bval.jsr.metadata.Meta$ForExecutable org.apache.bval.jsr.metadata.MetadataBuilder$ForBean org.apache.bval.jsr.metadata.MetadataBuilder$ForClass org.apache.bval.jsr.metadata.MetadataBuilder$ForContainer org.apache.bval.jsr.metadata.MetadataBuilder$ForElement org.apache.bval.jsr.metadata.MetadataBuilder$ForExecutable org.apache.bval.jsr.metadata.MetadataSource org.apache.bval.jsr.metadata.ReflectionBuilder$ForElement |
org.apache.bval.jsr.metadata.AnnotationBehavior org.apache.bval.jsr.metadata.AnnotationDeclaredValidatorMappingProvider org.apache.bval.jsr.metadata.CompositeBuilder$ForClass org.apache.bval.jsr.metadata.ContainerElementKey$1 org.apache.bval.jsr.metadata.DualBuilder$1 org.apache.bval.jsr.metadata.DualBuilder$CustomWrapper org.apache.bval.jsr.metadata.DualBuilder$CustomWrapper$ForBean org.apache.bval.jsr.metadata.DualBuilder$CustomWrapper$ForGetterMethod org.apache.bval.jsr.metadata.DualBuilder$ForClass org.apache.bval.jsr.metadata.DualValidationMappingProvider org.apache.bval.jsr.metadata.EmptyBuilder$ForClass org.apache.bval.jsr.metadata.EmptyBuilder$ForContainer org.apache.bval.jsr.metadata.EmptyBuilder$ForElement org.apache.bval.jsr.metadata.EmptyBuilder$ForExecutable org.apache.bval.jsr.metadata.EmptyBuilder$Level org.apache.bval.jsr.metadata.HierarchyBuilder$ClassDelegate org.apache.bval.jsr.metadata.HierarchyBuilder$CrossParameterDelegate org.apache.bval.jsr.metadata.HierarchyBuilder$ForContainer org.apache.bval.jsr.metadata.HierarchyBuilder$ForCrossParameter org.apache.bval.jsr.metadata.Liskov$1 org.apache.bval.jsr.metadata.Liskov$StrengtheningIssue$1 org.apache.bval.jsr.metadata.Liskov$ValidationElement org.apache.bval.jsr.metadata.Meta$ForClass org.apache.bval.jsr.metadata.Meta$ForConstructor org.apache.bval.jsr.metadata.Meta$ForContainerElement org.apache.bval.jsr.metadata.Meta$ForCrossParameter org.apache.bval.jsr.metadata.Meta$ForField org.apache.bval.jsr.metadata.Meta$ForMethod org.apache.bval.jsr.metadata.MetadataBuilder org.apache.bval.jsr.metadata.ReflectionBuilder$1 org.apache.bval.jsr.metadata.ReflectionBuilder$ForClass org.apache.bval.jsr.metadata.ReflectionBuilder$ForExecutable$1 org.apache.bval.jsr.metadata.ReflectionBuilder$ForExecutable$2 |
org.apache.bval.jsr.descriptor org.apache.bval.jsr.job org.apache.bval.jsr.valueextraction |
jakarta.validation jakarta.validation.constraintvalidation jakarta.validation.spi java.lang java.lang.annotation java.lang.reflect java.util java.util.function org.apache.bval.jsr org.apache.bval.jsr.util org.apache.bval.util org.apache.bval.util.reflection |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 9 | 17.0% | 100.0% | 17.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.bval.jsr.resolver.CachingRelevant |
org.apache.bval.jsr.resolver.CachingTraversableResolver org.apache.bval.jsr.resolver.CachingTraversableResolver$CacheEntry org.apache.bval.jsr.resolver.DefaultTraversableResolver org.apache.bval.jsr.resolver.JPATraversableResolver org.apache.bval.jsr.resolver.SimpleTraversableResolver |
None | jakarta.persistence jakarta.validation java.lang java.lang.annotation java.lang.reflect java.util java.util.logging org.apache.bval.util.reflection org.apache.commons.weaver.privilizer |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
4 | 12 | 9.0% | 75.0% | 16.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.bval.jsr.util.PathNavigation$Callback org.apache.bval.jsr.util.PathNavigation$CallbackProcedure |
org.apache.bval.jsr.util.AnnotationProxyBuilder$ConvertGroupAnnotation org.apache.bval.jsr.util.AnnotationProxyBuilder$ValidAnnotation org.apache.bval.jsr.util.AnnotationsManager$OverriddenAnnotationSpecifier org.apache.bval.jsr.util.ContainerElementNodeBuilderCustomizableContextImpl org.apache.bval.jsr.util.ContainerElementNodeBuilderDefinedContextImpl org.apache.bval.jsr.util.ContainerElementNodeContextBuilderImpl org.apache.bval.jsr.util.IOs org.apache.bval.jsr.util.LeafNodeBuilderCustomizableContextImpl org.apache.bval.jsr.util.LeafNodeBuilderCustomizableContextImpl$LeafNodeContextBuilderImpl org.apache.bval.jsr.util.LeafNodeBuilderCustomizableContextImpl$LeafNodeContextBuilderImpl$1 org.apache.bval.jsr.util.LookBehindRegexHolder org.apache.bval.jsr.util.NodeBuilderCustomizableContextImpl org.apache.bval.jsr.util.NodeBuilderDefinedContextImpl org.apache.bval.jsr.util.NodeContextBuilderImpl org.apache.bval.jsr.util.NodeImpl$1 org.apache.bval.jsr.util.NodeImpl$CrossParameterNodeImpl org.apache.bval.jsr.util.NodeImpl$ReturnValueNodeImpl org.apache.bval.jsr.util.PathImpl$Builder org.apache.bval.jsr.util.PathNavigation$PathPosition org.apache.bval.jsr.util.PathNavigation$QuotedStringParser org.apache.bval.jsr.util.Proxies |
org.apache.bval.jsr org.apache.bval.jsr.descriptor org.apache.bval.jsr.job org.apache.bval.jsr.metadata |
jakarta.enterprise.util jakarta.validation jakarta.validation.groups java.io java.lang java.text java.util java.util.function java.util.regex org.apache.bval.cdi org.apache.bval.jsr.job org.apache.bval.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 9 | 25.0% | 90.0% | 15.000001% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.bval.jsr.valueextraction.FxExtractor org.apache.bval.jsr.valueextraction.MapExtractor org.apache.bval.jsr.valueextraction.OptionalExtractor |
org.apache.bval.jsr.valueextraction.FxExtractor$Activation org.apache.bval.jsr.valueextraction.FxExtractor$ForObservableValue org.apache.bval.jsr.valueextraction.ListElementExtractor org.apache.bval.jsr.valueextraction.OptionalExtractor$ForDouble org.apache.bval.jsr.valueextraction.OptionalExtractor$ForInt org.apache.bval.jsr.valueextraction.OptionalExtractor$ForLong org.apache.bval.jsr.valueextraction.OptionalExtractor$ForObject org.apache.bval.jsr.valueextraction.ValueExtractors$OnDuplicateContainerElementKey org.apache.bval.jsr.valueextraction.ValueExtractors$UnwrappingInfo |
org.apache.bval.jsr |
jakarta.validation.valueextraction java.lang java.lang.reflect java.util java.util.function javafx.beans.value org.apache.bval.jsr.metadata org.apache.bval.util org.apache.bval.util.reflection |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 8 | 3.0% | 100.0% | 3.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.bval.jsr.xml.package-info |
org.apache.bval.jsr.xml.Adapter1 org.apache.bval.jsr.xml.AnnotationType org.apache.bval.jsr.xml.BeanType org.apache.bval.jsr.xml.ClassType org.apache.bval.jsr.xml.ConstraintDefinitionType org.apache.bval.jsr.xml.ConstraintMappingsType org.apache.bval.jsr.xml.ConstraintType org.apache.bval.jsr.xml.ConstructorType org.apache.bval.jsr.xml.ContainerElementTypeType org.apache.bval.jsr.xml.CrossParameterType org.apache.bval.jsr.xml.DefaultValidatedExecutableTypesType org.apache.bval.jsr.xml.ElementType org.apache.bval.jsr.xml.ExecutableValidationType org.apache.bval.jsr.xml.FieldType org.apache.bval.jsr.xml.GetterType org.apache.bval.jsr.xml.GroupConversionType org.apache.bval.jsr.xml.GroupSequenceType org.apache.bval.jsr.xml.GroupsType org.apache.bval.jsr.xml.MethodType org.apache.bval.jsr.xml.ObjectFactory org.apache.bval.jsr.xml.ParameterType org.apache.bval.jsr.xml.PayloadType org.apache.bval.jsr.xml.PropertyType org.apache.bval.jsr.xml.ReturnValueType org.apache.bval.jsr.xml.SchemaManager$SchemaRewriter org.apache.bval.jsr.xml.SchemaManager$XmlAttributeType org.apache.bval.jsr.xml.ValidatedByType org.apache.bval.jsr.xml.ValidationConfigType |
None | jakarta.validation.executable jakarta.xml.bind jakarta.xml.bind.annotation.adapters java.lang java.util javax.xml.namespace org.xml.sax org.xml.sax.helpers |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
7 | 7 | 20.0% | 50.0% | 30.000002% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.apache.bval.util.CloseableAble org.apache.bval.util.Escapes$CharSequenceTranslator org.apache.bval.util.Exceptions$FormatArgs |
org.apache.bval.util.CollectionSet org.apache.bval.util.EmulatedAnnotatedType$Parameterized org.apache.bval.util.EmulatedAnnotatedType$Variable org.apache.bval.util.EmulatedAnnotatedType$Wildcard org.apache.bval.util.Escapes org.apache.bval.util.Escapes$AggregateTranslator org.apache.bval.util.Escapes$LookupTranslator org.apache.bval.util.Escapes$OctalUnescaper org.apache.bval.util.LazyInt org.apache.bval.util.ObjectUtils org.apache.bval.util.ObjectWrapper org.apache.bval.util.StringUtils |
org.apache.bval.constraints org.apache.bval.jsr.descriptor org.apache.bval.jsr.job org.apache.bval.jsr.metadata org.apache.bval.jsr.util org.apache.bval.jsr.valueextraction org.apache.bval.util.reflection |
java.io java.lang java.lang.annotation java.lang.reflect java.util java.util.function java.util.stream |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
5 | 4 | 0.0% | 44.0% | 56.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.apache.bval.util.reflection.Reflection$ClassHierarchy org.apache.bval.util.reflection.Reflection$FullHierarchy org.apache.bval.util.reflection.Reflection$FullHierarchy$1 org.apache.bval.util.reflection.Reflection$Interfaces org.apache.bval.util.reflection.TypeUtils$ParameterizedTypeImpl org.apache.bval.util.reflection.TypeUtils$WildcardTypeBuilder org.apache.bval.util.reflection.TypeUtils$WildcardTypeImpl |
org.apache.bval.jsr.descriptor org.apache.bval.jsr.job org.apache.bval.jsr.metadata org.apache.bval.jsr.resolver org.apache.bval.jsr.valueextraction |
java.lang java.lang.reflect java.util org.apache.bval.util |
Package | Package Dependencies |
---|---|
org.apache.bval.jsr | org.apache.bval.jsr.valueextraction org.apache.bval.jsr.metadata org.apache.bval.jsr |
org.apache.bval.jsr.descriptor | org.apache.bval.jsr.metadata org.apache.bval.jsr org.apache.bval.jsr.valueextraction org.apache.bval.jsr.metadata |
org.apache.bval.jsr.job | org.apache.bval.jsr org.apache.bval.jsr.valueextraction org.apache.bval.jsr.metadata org.apache.bval.jsr |
org.apache.bval.jsr.metadata | org.apache.bval.jsr org.apache.bval.jsr.valueextraction org.apache.bval.jsr.metadata |
org.apache.bval.jsr.util | org.apache.bval.jsr.job org.apache.bval.jsr org.apache.bval.jsr.valueextraction org.apache.bval.jsr.metadata org.apache.bval.jsr |
org.apache.bval.jsr.valueextraction | org.apache.bval.jsr.metadata org.apache.bval.jsr org.apache.bval.jsr.valueextraction |
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. |