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
com.github.davidmoten.rx2 139 133 6 2 23 4.0% 92.0% 4.0% 1
com.github.davidmoten.rx2.buffertofile 12 10 2 3 10 17.0% 77.0% 6.0% 1
com.github.davidmoten.rx2.exceptions 2 2 0 1 1 0.0% 50.0% 50.0% 1
com.github.davidmoten.rx2.flowable 56 56 0 2 18 0.0% 90.0% 10.0% 1
com.github.davidmoten.rx2.functions 1 0 1 2 1 100.0% 33.0% 33.0% 1
com.github.davidmoten.rx2.internal 3 3 0 1 5 0.0% 83.0% 17.0% 1
com.github.davidmoten.rx2.internal.flowable 87 85 2 2 27 2.0% 93.0% 5.0% 1
com.github.davidmoten.rx2.internal.flowable.buffertofile 12 11 1 1 21 8.0% 95.0% 4.0% 1
com.github.davidmoten.rx2.internal.observable 1 1 0 1 3 0.0% 75.0% 25.0% 1
com.github.davidmoten.rx2.observable 3 3 0 1 4 0.0% 80.0% 20.0% 1
com.github.davidmoten.rx2.util 2 2 0 2 3 0.0% 60.000004% 40.0% 1
com.github.davidmoten.util 2 2 0 1 2 0.0% 67.0% 33.0% 1

Packages

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

com.github.davidmoten.rx2

Afferent Couplings Efferent Couplings Abstractness Instability Distance
2 23 4.0% 92.0% 4.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
com.github.davidmoten.rx2.StateMachine$Completion
com.github.davidmoten.rx2.StateMachine$Completion2
com.github.davidmoten.rx2.StateMachine$Emitter
com.github.davidmoten.rx2.StateMachine$Errored
com.github.davidmoten.rx2.StateMachine$Transition
com.github.davidmoten.rx2.StateMachine$Transition2
com.github.davidmoten.rx2.Actions
com.github.davidmoten.rx2.Actions$1
com.github.davidmoten.rx2.Actions$2
com.github.davidmoten.rx2.Actions$3
com.github.davidmoten.rx2.Actions$DoNothingHolder
com.github.davidmoten.rx2.Actions$DoNothingHolder$1
com.github.davidmoten.rx2.BiFunctions
com.github.davidmoten.rx2.BiFunctions$1
com.github.davidmoten.rx2.BiFunctions$2
com.github.davidmoten.rx2.BiFunctions$3
com.github.davidmoten.rx2.BiFunctions$ThrowingHolder
com.github.davidmoten.rx2.BiFunctions$ThrowingHolder$1
com.github.davidmoten.rx2.BiPredicates
com.github.davidmoten.rx2.BiPredicates$1
com.github.davidmoten.rx2.BiPredicates$2
com.github.davidmoten.rx2.BiPredicates$3
com.github.davidmoten.rx2.Bytes
com.github.davidmoten.rx2.Bytes$1
com.github.davidmoten.rx2.Bytes$2
com.github.davidmoten.rx2.Bytes$3
com.github.davidmoten.rx2.Bytes$4
com.github.davidmoten.rx2.Bytes$5
com.github.davidmoten.rx2.Bytes$6
com.github.davidmoten.rx2.Bytes$BosCollectorHolder
com.github.davidmoten.rx2.Bytes$BosCollectorHolder$1
com.github.davidmoten.rx2.Bytes$BosCreatorHolder
com.github.davidmoten.rx2.Bytes$BosCreatorHolder$1
com.github.davidmoten.rx2.Bytes$BosToArrayHolder
com.github.davidmoten.rx2.Bytes$BosToArrayHolder$1
com.github.davidmoten.rx2.Bytes$InputStreamCloseHolder
com.github.davidmoten.rx2.Bytes$InputStreamCloseHolder$1
com.github.davidmoten.rx2.Bytes$ZipHolder
com.github.davidmoten.rx2.Bytes$ZipHolder$1
com.github.davidmoten.rx2.Bytes$ZipHolder$2
com.github.davidmoten.rx2.Callables
com.github.davidmoten.rx2.Callables$1
com.github.davidmoten.rx2.Callables$2
com.github.davidmoten.rx2.Consumers
com.github.davidmoten.rx2.Consumers$1
com.github.davidmoten.rx2.Consumers$10
com.github.davidmoten.rx2.Consumers$2
com.github.davidmoten.rx2.Consumers$3
com.github.davidmoten.rx2.Consumers$4
com.github.davidmoten.rx2.Consumers$5
com.github.davidmoten.rx2.Consumers$6
com.github.davidmoten.rx2.Consumers$7
com.github.davidmoten.rx2.Consumers$8
com.github.davidmoten.rx2.Consumers$9
com.github.davidmoten.rx2.Consumers$CloseHolder
com.github.davidmoten.rx2.Consumers$CloseHolder$1
com.github.davidmoten.rx2.Consumers$DoNothingHolder
com.github.davidmoten.rx2.Consumers$DoNothingHolder$1
com.github.davidmoten.rx2.Consumers$PrintlnHolder
com.github.davidmoten.rx2.Consumers$PrintlnHolder$1
com.github.davidmoten.rx2.Flowables
com.github.davidmoten.rx2.Flowables$1
com.github.davidmoten.rx2.Flowables$1$1
com.github.davidmoten.rx2.Flowables$2
com.github.davidmoten.rx2.Flowables$3
com.github.davidmoten.rx2.Flowables$4
com.github.davidmoten.rx2.Flowables$MergeInterleaveBuilder
com.github.davidmoten.rx2.Functions
com.github.davidmoten.rx2.Functions$1
com.github.davidmoten.rx2.Functions$2
com.github.davidmoten.rx2.Functions$3
com.github.davidmoten.rx2.Functions$IdentityHolder
com.github.davidmoten.rx2.Functions$IdentityHolder$1
com.github.davidmoten.rx2.IO
com.github.davidmoten.rx2.IO$1
com.github.davidmoten.rx2.IO$2
com.github.davidmoten.rx2.IO$ServerSocketBuilder
com.github.davidmoten.rx2.Maybes
com.github.davidmoten.rx2.Observables
com.github.davidmoten.rx2.Observables$1
com.github.davidmoten.rx2.Observables$1$1
com.github.davidmoten.rx2.Observables$2
com.github.davidmoten.rx2.Observables$3
com.github.davidmoten.rx2.Observables$4
com.github.davidmoten.rx2.Predicates
com.github.davidmoten.rx2.Predicates$FalseHolder
com.github.davidmoten.rx2.Predicates$FalseHolder$1
com.github.davidmoten.rx2.Predicates$TrueHolder
com.github.davidmoten.rx2.Predicates$TrueHolder$1
com.github.davidmoten.rx2.RetryWhen
com.github.davidmoten.rx2.RetryWhen$1
com.github.davidmoten.rx2.RetryWhen$2
com.github.davidmoten.rx2.RetryWhen$3
com.github.davidmoten.rx2.RetryWhen$4
com.github.davidmoten.rx2.RetryWhen$5
com.github.davidmoten.rx2.RetryWhen$Builder
com.github.davidmoten.rx2.RetryWhen$Builder$1
com.github.davidmoten.rx2.RetryWhen$Builder$2
com.github.davidmoten.rx2.RetryWhen$Builder$ToLongHolder
com.github.davidmoten.rx2.RetryWhen$Builder$ToLongHolder$1
com.github.davidmoten.rx2.RetryWhen$ErrorAndDuration
com.github.davidmoten.rx2.SchedulerHelper
com.github.davidmoten.rx2.SchedulerHelper$1
com.github.davidmoten.rx2.StateMachine
com.github.davidmoten.rx2.StateMachine$1
com.github.davidmoten.rx2.StateMachine$Builder
com.github.davidmoten.rx2.StateMachine$Builder2
com.github.davidmoten.rx2.StateMachine$Builder3
com.github.davidmoten.rx2.StateMachine$CompletionAlwaysTrueHolder
com.github.davidmoten.rx2.StateMachine$CompletionAlwaysTrueHolder$1
com.github.davidmoten.rx2.StateMachine2
com.github.davidmoten.rx2.StateMachine2$1
com.github.davidmoten.rx2.StateMachine2$Builder
com.github.davidmoten.rx2.StateMachine2$Builder2
com.github.davidmoten.rx2.StateMachine2$Builder3
com.github.davidmoten.rx2.StateMachine2$Builder3$1
com.github.davidmoten.rx2.Statistics
com.github.davidmoten.rx2.Strings
com.github.davidmoten.rx2.Strings$1
com.github.davidmoten.rx2.Strings$10
com.github.davidmoten.rx2.Strings$11
com.github.davidmoten.rx2.Strings$12
com.github.davidmoten.rx2.Strings$2
com.github.davidmoten.rx2.Strings$3
com.github.davidmoten.rx2.Strings$4
com.github.davidmoten.rx2.Strings$5
com.github.davidmoten.rx2.Strings$6
com.github.davidmoten.rx2.Strings$7
com.github.davidmoten.rx2.Strings$7$1
com.github.davidmoten.rx2.Strings$7$2
com.github.davidmoten.rx2.Strings$7$3
com.github.davidmoten.rx2.Strings$8
com.github.davidmoten.rx2.Strings$9
com.github.davidmoten.rx2.Strings$DisposeActionHolder
com.github.davidmoten.rx2.Strings$DisposeActionHolder$1
com.github.davidmoten.rx2.Strings$SplitLinesHolder
com.github.davidmoten.rx2.Strings$SplitLinesHolder$1
com.github.davidmoten.rx2.Strings$SplitLinesHolder$2
com.github.davidmoten.rx2.Strings$Utf8Holder
com.github.davidmoten.rx2.flowable
com.github.davidmoten.rx2.internal.flowable
com.github.davidmoten.guavamini
com.github.davidmoten.rx2.exceptions
com.github.davidmoten.rx2.flowable
com.github.davidmoten.rx2.functions
com.github.davidmoten.rx2.internal
com.github.davidmoten.rx2.internal.flowable
com.github.davidmoten.rx2.observable
com.github.davidmoten.rx2.util
io.reactivex
io.reactivex.disposables
io.reactivex.functions
io.reactivex.internal.functions
io.reactivex.schedulers
java.io
java.lang
java.net
java.nio.charset
java.util
java.util.concurrent
java.util.concurrent.atomic
java.util.regex
java.util.zip
org.reactivestreams

com.github.davidmoten.rx2.buffertofile

Afferent Couplings Efferent Couplings Abstractness Instability Distance
3 10 17.0% 77.0% 6.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
com.github.davidmoten.rx2.buffertofile.DataSerializer
com.github.davidmoten.rx2.buffertofile.Serializer
com.github.davidmoten.rx2.buffertofile.Options
com.github.davidmoten.rx2.buffertofile.Options$BuilderFlowable
com.github.davidmoten.rx2.buffertofile.Options$BuilderFlowable$1
com.github.davidmoten.rx2.buffertofile.Options$BuilderObservable
com.github.davidmoten.rx2.buffertofile.Options$BuilderObservable$1
com.github.davidmoten.rx2.buffertofile.Options$FileFactoryHolder
com.github.davidmoten.rx2.buffertofile.Options$FileFactoryHolder$1
com.github.davidmoten.rx2.buffertofile.SerializerString
com.github.davidmoten.rx2.buffertofile.Serializers
com.github.davidmoten.rx2.buffertofile.Serializers$WrappedDataSerializer
com.github.davidmoten.rx2.flowable
com.github.davidmoten.rx2.internal.flowable.buffertofile
com.github.davidmoten.rx2.observable
com.github.davidmoten.guavamini
com.github.davidmoten.rx2.internal.flowable.buffertofile
io.reactivex
io.reactivex.functions
io.reactivex.schedulers
java.io
java.lang
java.nio.charset
java.util.concurrent
org.reactivestreams

com.github.davidmoten.rx2.exceptions

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 1 0.0% 50.0% 50.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None com.github.davidmoten.rx2.exceptions.AssertionException
com.github.davidmoten.rx2.exceptions.ThrowingException
com.github.davidmoten.rx2
java.lang

com.github.davidmoten.rx2.flowable

Afferent Couplings Efferent Couplings Abstractness Instability Distance
2 18 0.0% 90.0% 10.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None com.github.davidmoten.rx2.flowable.Burst
com.github.davidmoten.rx2.flowable.Burst$1
com.github.davidmoten.rx2.flowable.Burst$Builder
com.github.davidmoten.rx2.flowable.CachedFlowable
com.github.davidmoten.rx2.flowable.CloseableFlowableWithReset
com.github.davidmoten.rx2.flowable.Serialized
com.github.davidmoten.rx2.flowable.Serialized$1
com.github.davidmoten.rx2.flowable.Serialized$2
com.github.davidmoten.rx2.flowable.Serialized$3
com.github.davidmoten.rx2.flowable.Serialized$4
com.github.davidmoten.rx2.flowable.Serialized$5
com.github.davidmoten.rx2.flowable.Serialized$KryoBuilder
com.github.davidmoten.rx2.flowable.Serialized$KryoBuilder$1
com.github.davidmoten.rx2.flowable.Serialized$KryoBuilder$2
com.github.davidmoten.rx2.flowable.Serialized$KryoBuilder$2$1
com.github.davidmoten.rx2.flowable.Serialized$KryoBuilder$3
com.github.davidmoten.rx2.flowable.Serialized$KryoBuilder$4
com.github.davidmoten.rx2.flowable.Serialized$KryoBuilder$5
com.github.davidmoten.rx2.flowable.Serialized$ObjectInputStreamFlowableFactoryHolder
com.github.davidmoten.rx2.flowable.Serialized$ObjectInputStreamFlowableFactoryHolder$1
com.github.davidmoten.rx2.flowable.Transformers
com.github.davidmoten.rx2.flowable.Transformers$1
com.github.davidmoten.rx2.flowable.Transformers$10
com.github.davidmoten.rx2.flowable.Transformers$11
com.github.davidmoten.rx2.flowable.Transformers$12
com.github.davidmoten.rx2.flowable.Transformers$12$1
com.github.davidmoten.rx2.flowable.Transformers$12$1$1
com.github.davidmoten.rx2.flowable.Transformers$13
com.github.davidmoten.rx2.flowable.Transformers$14
com.github.davidmoten.rx2.flowable.Transformers$15
com.github.davidmoten.rx2.flowable.Transformers$16
com.github.davidmoten.rx2.flowable.Transformers$17
com.github.davidmoten.rx2.flowable.Transformers$18
com.github.davidmoten.rx2.flowable.Transformers$19
com.github.davidmoten.rx2.flowable.Transformers$2
com.github.davidmoten.rx2.flowable.Transformers$3
com.github.davidmoten.rx2.flowable.Transformers$4
com.github.davidmoten.rx2.flowable.Transformers$4$1
com.github.davidmoten.rx2.flowable.Transformers$5
com.github.davidmoten.rx2.flowable.Transformers$6
com.github.davidmoten.rx2.flowable.Transformers$7
com.github.davidmoten.rx2.flowable.Transformers$8
com.github.davidmoten.rx2.flowable.Transformers$9
com.github.davidmoten.rx2.flowable.Transformers$CollectStatsHolder
com.github.davidmoten.rx2.flowable.Transformers$CollectStatsHolder$1
com.github.davidmoten.rx2.flowable.Transformers$ListFactoryHolder
com.github.davidmoten.rx2.flowable.Transformers$ListFactoryHolder$1
com.github.davidmoten.rx2.flowable.Transformers$ListFactoryHolder$2
com.github.davidmoten.rx2.flowable.Transformers$MyOptional
com.github.davidmoten.rx2.flowable.Transformers$MyOptional$1
com.github.davidmoten.rx2.flowable.Transformers$MyOptional$2
com.github.davidmoten.rx2.flowable.Transformers$MyOptional$3
com.github.davidmoten.rx2.flowable.Transformers$NaturalComparatorHolder
com.github.davidmoten.rx2.flowable.Transformers$NaturalComparatorHolder$1
com.github.davidmoten.rx2.flowable.Transformers$ReverseHolder
com.github.davidmoten.rx2.flowable.Transformers$ReverseHolder$1
com.github.davidmoten.rx2
com.github.davidmoten.rx2.internal.flowable
com.esotericsoftware.kryo
com.esotericsoftware.kryo.io
com.github.davidmoten.guavamini
com.github.davidmoten.rx2
com.github.davidmoten.rx2.buffertofile
com.github.davidmoten.rx2.internal.flowable
com.github.davidmoten.rx2.util
io.reactivex
io.reactivex.functions
io.reactivex.internal.subscriptions
io.reactivex.internal.util
io.reactivex.schedulers
java.io
java.lang
java.util
java.util.concurrent
java.util.concurrent.atomic
org.reactivestreams

com.github.davidmoten.rx2.functions

Afferent Couplings Efferent Couplings Abstractness Instability Distance
2 1 100.0% 33.0% 33.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
com.github.davidmoten.rx2.functions.Consumer3
None com.github.davidmoten.rx2
com.github.davidmoten.rx2.internal.flowable
java.lang

com.github.davidmoten.rx2.internal

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 5 0.0% 83.0% 17.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None com.github.davidmoten.rx2.internal.SchedulerWithId
com.github.davidmoten.rx2.internal.SchedulerWithId$1
com.github.davidmoten.rx2.internal.SchedulerWithId$1$1
com.github.davidmoten.rx2
io.reactivex
io.reactivex.disposables
java.lang
java.util.concurrent
java.util.regex

com.github.davidmoten.rx2.internal.flowable

Afferent Couplings Efferent Couplings Abstractness Instability Distance
2 27 2.0% 93.0% 5.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
com.github.davidmoten.rx2.internal.flowable.FlowableMatch$Receiver
com.github.davidmoten.rx2.internal.flowable.FlowableMergeInterleave$BatchFinished
com.github.davidmoten.rx2.internal.flowable.DelimitedStringLinkedList
com.github.davidmoten.rx2.internal.flowable.DelimitedStringLinkedList$Node
com.github.davidmoten.rx2.internal.flowable.FlowableCollectWhile
com.github.davidmoten.rx2.internal.flowable.FlowableCollectWhile$CollectWhileSubscriber
com.github.davidmoten.rx2.internal.flowable.FlowableDoOnEmpty
com.github.davidmoten.rx2.internal.flowable.FlowableDoOnEmpty$DoOnEmptySubscriber
com.github.davidmoten.rx2.internal.flowable.FlowableFetchPagesByRequest
com.github.davidmoten.rx2.internal.flowable.FlowableFetchPagesByRequest$1
com.github.davidmoten.rx2.internal.flowable.FlowableFetchPagesByRequest$1$1
com.github.davidmoten.rx2.internal.flowable.FlowableFetchPagesByRequest$Count
com.github.davidmoten.rx2.internal.flowable.FlowableInsertMaybe
com.github.davidmoten.rx2.internal.flowable.FlowableInsertMaybe$InsertSubscriber
com.github.davidmoten.rx2.internal.flowable.FlowableInsertMaybe$ValueToInsertObserver
com.github.davidmoten.rx2.internal.flowable.FlowableInsertTimeout
com.github.davidmoten.rx2.internal.flowable.FlowableInsertTimeout$InsertTimeoutSubscriber
com.github.davidmoten.rx2.internal.flowable.FlowableInsertTimeout$TimeoutAction
com.github.davidmoten.rx2.internal.flowable.FlowableMapLast
com.github.davidmoten.rx2.internal.flowable.FlowableMapLast$MapLastSubscriber
com.github.davidmoten.rx2.internal.flowable.FlowableMatch
com.github.davidmoten.rx2.internal.flowable.FlowableMatch$ItemA
com.github.davidmoten.rx2.internal.flowable.FlowableMatch$MatchCoordinator
com.github.davidmoten.rx2.internal.flowable.FlowableMatch$MatchCoordinator$Emitted
com.github.davidmoten.rx2.internal.flowable.FlowableMatch$MatchCoordinator$Status
com.github.davidmoten.rx2.internal.flowable.FlowableMatch$MyError
com.github.davidmoten.rx2.internal.flowable.FlowableMatch$MySubscriber
com.github.davidmoten.rx2.internal.flowable.FlowableMatch$Source
com.github.davidmoten.rx2.internal.flowable.FlowableMaxRequest
com.github.davidmoten.rx2.internal.flowable.FlowableMaxRequest$MaxRequestSubscriber
com.github.davidmoten.rx2.internal.flowable.FlowableMergeInterleave
com.github.davidmoten.rx2.internal.flowable.FlowableMergeInterleave$MergeInterleaveSubscription
com.github.davidmoten.rx2.internal.flowable.FlowableMergeInterleave$SourceArrived
com.github.davidmoten.rx2.internal.flowable.FlowableMergeInterleave$SourceComplete
com.github.davidmoten.rx2.internal.flowable.FlowableMergeInterleave$SourceSubscriber
com.github.davidmoten.rx2.internal.flowable.FlowableMinRequest
com.github.davidmoten.rx2.internal.flowable.FlowableMinRequest$MinRequestSubscriber
com.github.davidmoten.rx2.internal.flowable.FlowableRepeat
com.github.davidmoten.rx2.internal.flowable.FlowableRepeat$RepeatSubscription
com.github.davidmoten.rx2.internal.flowable.FlowableRepeatingTransform
com.github.davidmoten.rx2.internal.flowable.FlowableRepeatingTransform$1
com.github.davidmoten.rx2.internal.flowable.FlowableRepeatingTransform$Chain
com.github.davidmoten.rx2.internal.flowable.FlowableRepeatingTransform$ChainedReplaySubject
com.github.davidmoten.rx2.internal.flowable.FlowableRepeatingTransform$ChainedReplaySubject$Requests
com.github.davidmoten.rx2.internal.flowable.FlowableRepeatingTransform$DestinationSerializedSubject
com.github.davidmoten.rx2.internal.flowable.FlowableRepeatingTransform$Event
com.github.davidmoten.rx2.internal.flowable.FlowableRepeatingTransform$EventType
com.github.davidmoten.rx2.internal.flowable.FlowableRepeatingTransform$MultiSubscription
com.github.davidmoten.rx2.internal.flowable.FlowableRepeatingTransform$Tester
com.github.davidmoten.rx2.internal.flowable.FlowableRepeatingTransform$TesterObserver
com.github.davidmoten.rx2.internal.flowable.FlowableReverse
com.github.davidmoten.rx2.internal.flowable.FlowableReverse$1
com.github.davidmoten.rx2.internal.flowable.FlowableReverse$2
com.github.davidmoten.rx2.internal.flowable.FlowableReverse$2$1
com.github.davidmoten.rx2.internal.flowable.FlowableServerSocket
com.github.davidmoten.rx2.internal.flowable.FlowableServerSocket$1
com.github.davidmoten.rx2.internal.flowable.FlowableServerSocket$2
com.github.davidmoten.rx2.internal.flowable.FlowableServerSocket$3
com.github.davidmoten.rx2.internal.flowable.FlowableServerSocket$4
com.github.davidmoten.rx2.internal.flowable.FlowableServerSocket$5
com.github.davidmoten.rx2.internal.flowable.FlowableServerSocket$6
com.github.davidmoten.rx2.internal.flowable.FlowableStateMachine
com.github.davidmoten.rx2.internal.flowable.FlowableStateMachine$StateMachineSubscriber
com.github.davidmoten.rx2.internal.flowable.FlowableStringInputStream
com.github.davidmoten.rx2.internal.flowable.FlowableStringInputStream$StringInputStream
com.github.davidmoten.rx2.internal.flowable.FlowableStringSplitSimple
com.github.davidmoten.rx2.internal.flowable.FlowableStringSplitSimple$StringSplitSubscriber
com.github.davidmoten.rx2.internal.flowable.FlowableWindowMinMax
com.github.davidmoten.rx2.internal.flowable.FlowableWindowMinMax$Metric
com.github.davidmoten.rx2.internal.flowable.FlowableWindowMinMax$WindowMinMaxSubscriber
com.github.davidmoten.rx2.internal.flowable.OnSubscribeCacheResettable
com.github.davidmoten.rx2.internal.flowable.TransformerDecode
com.github.davidmoten.rx2.internal.flowable.TransformerDecode$1
com.github.davidmoten.rx2.internal.flowable.TransformerDecode$2
com.github.davidmoten.rx2.internal.flowable.TransformerDecode$3
com.github.davidmoten.rx2.internal.flowable.TransformerDecode$Result
com.github.davidmoten.rx2.internal.flowable.TransformerStateMachine
com.github.davidmoten.rx2.internal.flowable.TransformerStateMachine$1
com.github.davidmoten.rx2.internal.flowable.TransformerStateMachine$2
com.github.davidmoten.rx2.internal.flowable.TransformerStateMachine$2$1
com.github.davidmoten.rx2.internal.flowable.TransformerStateMachine$3
com.github.davidmoten.rx2.internal.flowable.TransformerStateMachine$Mutable
com.github.davidmoten.rx2.internal.flowable.TransformerStateMachine$NotificationEmitter
com.github.davidmoten.rx2.internal.flowable.TransformerStateMachine$UnsubscribedNotificationHolder
com.github.davidmoten.rx2.internal.flowable.TransformerStringSplit
com.github.davidmoten.rx2.internal.flowable.TransformerStringSplit$1
com.github.davidmoten.rx2.internal.flowable.TransformerStringSplit$2
com.github.davidmoten.rx2
com.github.davidmoten.rx2.flowable
com.github.davidmoten.guavamini
com.github.davidmoten.rx2
com.github.davidmoten.rx2.flowable
com.github.davidmoten.rx2.functions
com.github.davidmoten.util
io.reactivex
io.reactivex.disposables
io.reactivex.exceptions
io.reactivex.functions
io.reactivex.internal.disposables
io.reactivex.internal.functions
io.reactivex.internal.fuseable
io.reactivex.internal.queue
io.reactivex.internal.subscriptions
io.reactivex.internal.util
io.reactivex.plugins
io.reactivex.subjects
java.io
java.lang
java.net
java.nio
java.nio.charset
java.util
java.util.concurrent
java.util.concurrent.atomic
java.util.regex
org.reactivestreams

com.github.davidmoten.rx2.internal.flowable.buffertofile

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 21 8.0% 95.0% 4.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
com.github.davidmoten.rx2.internal.flowable.buffertofile.FlowableOnBackpressureBufferToFile$BufferToFileSubscriber
com.github.davidmoten.rx2.internal.flowable.buffertofile.FlowableOnBackpressureBufferToFile
com.github.davidmoten.rx2.internal.flowable.buffertofile.FlowableOnBackpressureBufferToFile$BufferToFileSubscriberFlowable
com.github.davidmoten.rx2.internal.flowable.buffertofile.FlowableOnBackpressureBufferToFile$BufferToFileSubscriberObservable
com.github.davidmoten.rx2.internal.flowable.buffertofile.MemoryMappedFile
com.github.davidmoten.rx2.internal.flowable.buffertofile.Page
com.github.davidmoten.rx2.internal.flowable.buffertofile.PagedQueue
com.github.davidmoten.rx2.internal.flowable.buffertofile.PagedQueue$MessageType
com.github.davidmoten.rx2.internal.flowable.buffertofile.Pages
com.github.davidmoten.rx2.internal.flowable.buffertofile.SerializerBytes
com.github.davidmoten.rx2.internal.flowable.buffertofile.SerializerJavaIO
com.github.davidmoten.rx2.internal.flowable.buffertofile.UnsafeAccess
com.github.davidmoten.rx2.buffertofile
com.github.davidmoten.guavamini
com.github.davidmoten.rx2.buffertofile
io.reactivex
io.reactivex.disposables
io.reactivex.exceptions
io.reactivex.internal.functions
io.reactivex.internal.fuseable
io.reactivex.internal.queue
io.reactivex.internal.subscriptions
io.reactivex.internal.util
io.reactivex.plugins
java.io
java.lang
java.lang.reflect
java.nio
java.nio.channels
java.util.concurrent
java.util.concurrent.atomic
org.reactivestreams
sun.misc
sun.nio.ch

com.github.davidmoten.rx2.internal.observable

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 com.github.davidmoten.rx2.internal.observable.OnSubscribeCacheResetable
com.github.davidmoten.rx2.observable
io.reactivex
java.lang
java.util.concurrent.atomic

com.github.davidmoten.rx2.observable

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 4 0.0% 80.0% 20.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None com.github.davidmoten.rx2.observable.CachedObservable
com.github.davidmoten.rx2.observable.CloseableObservableWithReset
com.github.davidmoten.rx2.observable.Transformers
com.github.davidmoten.rx2
com.github.davidmoten.rx2.buffertofile
com.github.davidmoten.rx2.internal.observable
io.reactivex
java.lang

com.github.davidmoten.rx2.util

Afferent Couplings Efferent Couplings Abstractness Instability Distance
2 3 0.0% 60.000004% 40.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None com.github.davidmoten.rx2.util.Pair
com.github.davidmoten.rx2.util.ZippedEntry
com.github.davidmoten.rx2
com.github.davidmoten.rx2.flowable
java.io
java.lang
java.util.zip

com.github.davidmoten.util

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 2 0.0% 67.0% 33.0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None com.github.davidmoten.util.RingBuffer
com.github.davidmoten.util.RingBuffer$1
com.github.davidmoten.rx2.internal.flowable
java.lang
java.util

Cycles

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

Package Package Dependencies
com.github.davidmoten.rx2 com.github.davidmoten.rx2.observable
com.github.davidmoten.rx2.buffertofile
com.github.davidmoten.rx2.internal.flowable.buffertofile
com.github.davidmoten.rx2.buffertofile
com.github.davidmoten.rx2.buffertofile com.github.davidmoten.rx2.internal.flowable.buffertofile
com.github.davidmoten.rx2.buffertofile
com.github.davidmoten.rx2.flowable com.github.davidmoten.rx2.internal.flowable
com.github.davidmoten.rx2
com.github.davidmoten.rx2.observable
com.github.davidmoten.rx2.buffertofile
com.github.davidmoten.rx2.internal.flowable.buffertofile
com.github.davidmoten.rx2.buffertofile
com.github.davidmoten.rx2.internal.flowable com.github.davidmoten.rx2
com.github.davidmoten.rx2.observable
com.github.davidmoten.rx2.buffertofile
com.github.davidmoten.rx2.internal.flowable.buffertofile
com.github.davidmoten.rx2.buffertofile
com.github.davidmoten.rx2.internal.flowable.buffertofile com.github.davidmoten.rx2.buffertofile
com.github.davidmoten.rx2.internal.flowable.buffertofile
com.github.davidmoten.rx2.observable com.github.davidmoten.rx2.buffertofile
com.github.davidmoten.rx2.internal.flowable.buffertofile
com.github.davidmoten.rx2.buffertofile

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.