| Package | TC | CC | AC | Ca | Ce | A | I | D | V |
|---|---|---|---|---|---|---|---|---|---|
| org.opendaylight.netvirt.vpnmanager | 44 | 43 | 1 | 5 | 89 | 2.0% | 95.0% | 3.0% | 1 |
| org.opendaylight.netvirt.vpnmanager.arp.responder | 2 | 2 | 0 | 1 | 20 | 0.0% | 95.0% | 5.0% | 1 |
| org.opendaylight.netvirt.vpnmanager.cache.listeners | 1 | 1 | 0 | 0 | 10 | 0.0% | 100.0% | 0.0% | 1 |
| org.opendaylight.netvirt.vpnmanager.intervpnlink | 6 | 6 | 0 | 2 | 20 | 0.0% | 91.0% | 9.0% | 1 |
| org.opendaylight.netvirt.vpnmanager.intervpnlink.tasks | 3 | 3 | 0 | 0 | 15 | 0.0% | 100.0% | 0.0% | 1 |
| org.opendaylight.netvirt.vpnmanager.populator.impl | 3 | 3 | 0 | 0 | 21 | 0.0% | 100.0% | 0.0% | 1 |
| org.opendaylight.netvirt.vpnmanager.populator.input | 1 | 1 | 0 | 2 | 5 | 0.0% | 71.0% | 29.0% | 1 |
| org.opendaylight.netvirt.vpnmanager.populator.intfc | 1 | 0 | 1 | 3 | 6 | 100.0% | 67.0% | 67.0% | 1 |
| org.opendaylight.netvirt.vpnmanager.populator.registry | 1 | 1 | 0 | 2 | 6 | 0.0% | 75.0% | 25.0% | 1 |
| org.opendaylight.netvirt.vpnmanager.utilities | 2 | 2 | 0 | 1 | 25 | 0.0% | 96.0% | 4.0% | 1 |
| org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.vpn.config.rev161130 | 7 | 5 | 2 | 1 | 9 | 29.0% | 90.0% | 19.0% | 1 |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 5 | 89 | 2.0% | 95.0% | 3.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| org.opendaylight.netvirt.vpnmanager.AbstractDataChangeListener |
org.opendaylight.netvirt.vpnmanager.ArpConstants org.opendaylight.netvirt.vpnmanager.ArpMonitorEventListener org.opendaylight.netvirt.vpnmanager.ArpMonitorStartTask org.opendaylight.netvirt.vpnmanager.ArpNotificationHandler org.opendaylight.netvirt.vpnmanager.ArpReplyOrRequest org.opendaylight.netvirt.vpnmanager.ArpUtils org.opendaylight.netvirt.vpnmanager.CentralizedSwitchChangeListener org.opendaylight.netvirt.vpnmanager.CentralizedSwitchProvider org.opendaylight.netvirt.vpnmanager.DpnInVpnChangeListener org.opendaylight.netvirt.vpnmanager.MacEntry org.opendaylight.netvirt.vpnmanager.SubnetMacHandler org.opendaylight.netvirt.vpnmanager.SubnetOpDpnManager org.opendaylight.netvirt.vpnmanager.SubnetRouteInterfaceStateChangeListener org.opendaylight.netvirt.vpnmanager.SubnetRouteInterfaceStateChangeListener$1 org.opendaylight.netvirt.vpnmanager.SubnetRouteInterfaceStateChangeListener$2 org.opendaylight.netvirt.vpnmanager.SubnetRouteInterfaceStateChangeListener$3 org.opendaylight.netvirt.vpnmanager.SubnetmapChangeListener org.opendaylight.netvirt.vpnmanager.TransactionUtil org.opendaylight.netvirt.vpnmanager.TransactionUtil$1 org.opendaylight.netvirt.vpnmanager.TunnelInterfaceStateListener$TunnelAction org.opendaylight.netvirt.vpnmanager.TunnelInterfaceStateListener$UpdateRouteAction org.opendaylight.netvirt.vpnmanager.TunnelInterfaceStateListener$UpdateVpnInterfaceOnTunnelEvent org.opendaylight.netvirt.vpnmanager.UpdateData org.opendaylight.netvirt.vpnmanager.VpnConstants org.opendaylight.netvirt.vpnmanager.VpnConstants$DCGWPresentStatus org.opendaylight.netvirt.vpnmanager.VpnConstants$ITMTunnelLocType org.opendaylight.netvirt.vpnmanager.VpnElanInterfaceChangeListener org.opendaylight.netvirt.vpnmanager.VpnFootprintService org.opendaylight.netvirt.vpnmanager.VpnFootprintService$1 org.opendaylight.netvirt.vpnmanager.VpnFootprintService$2 org.opendaylight.netvirt.vpnmanager.VpnFootprintService$DpnEnterExitVpnWorker org.opendaylight.netvirt.vpnmanager.VpnInstanceListener org.opendaylight.netvirt.vpnmanager.VpnInstanceListener$AddVpnInstanceWorker org.opendaylight.netvirt.vpnmanager.VpnInterfaceManager$UnprocessedVpnInterfaceData org.opendaylight.netvirt.vpnmanager.VpnInterfaceManager$VpnInterfaceUpdateTimerTask org.opendaylight.netvirt.vpnmanager.VpnManagerImpl org.opendaylight.netvirt.vpnmanager.VpnNodeListener org.opendaylight.netvirt.vpnmanager.VpnNotifyTask org.opendaylight.netvirt.vpnmanager.VpnOpDataSyncer$VpnOpDataType org.opendaylight.netvirt.vpnmanager.VpnRpcServiceImpl org.opendaylight.netvirt.vpnmanager.VpnSubnetRouteHandler org.opendaylight.netvirt.vpnmanager.VpnUtil$1 org.opendaylight.netvirt.vpnmanager.VpnUtil$2 |
org.opendaylight.netvirt.vpnmanager.cache.listeners org.opendaylight.netvirt.vpnmanager.intervpnlink org.opendaylight.netvirt.vpnmanager.intervpnlink.tasks org.opendaylight.netvirt.vpnmanager.populator.impl org.opendaylight.netvirt.vpnmanager.utilities |
com.google.common.base com.google.common.cache com.google.common.util.concurrent java.lang java.math java.net java.util java.util.concurrent org.apache.commons.lang3.tuple org.opendaylight.controller.liblldp org.opendaylight.controller.md.sal.binding.api org.opendaylight.controller.md.sal.common.api.data org.opendaylight.genius.datastoreutils org.opendaylight.genius.interfacemanager.interfaces org.opendaylight.genius.mdsalutil org.opendaylight.genius.mdsalutil.actions org.opendaylight.genius.mdsalutil.instructions org.opendaylight.genius.mdsalutil.interfaces org.opendaylight.genius.mdsalutil.matches org.opendaylight.genius.mdsalutil.nxmatches org.opendaylight.genius.mdsalutil.packet org.opendaylight.netvirt.bgpmanager.api org.opendaylight.netvirt.elanmanager.api org.opendaylight.netvirt.fibmanager.api org.opendaylight.netvirt.neutronvpn.interfaces org.opendaylight.netvirt.vpnmanager.api org.opendaylight.netvirt.vpnmanager.api.intervpnlink org.opendaylight.netvirt.vpnmanager.arp.responder org.opendaylight.netvirt.vpnmanager.intervpnlink org.opendaylight.netvirt.vpnmanager.populator.intfc org.opendaylight.netvirt.vpnmanager.populator.registry org.opendaylight.netvirt.vpnmanager.utilities org.opendaylight.yang.gen.v1.urn.huawei.params.xml.ns.yang.l3vpn.rev140815 org.opendaylight.yang.gen.v1.urn.huawei.params.xml.ns.yang.l3vpn.rev140815.vpn.af.config org.opendaylight.yang.gen.v1.urn.huawei.params.xml.ns.yang.l3vpn.rev140815.vpn.af.config.vpntargets org.opendaylight.yang.gen.v1.urn.huawei.params.xml.ns.yang.l3vpn.rev140815.vpn.instances org.opendaylight.yang.gen.v1.urn.huawei.params.xml.ns.yang.l3vpn.rev140815.vpn.interfaces org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.iana._if.type.rev140508 org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715 org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508 org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715 org.opendaylight.yang.gen.v1.urn.opendaylight.genius.alivenessmonitor.rev160411 org.opendaylight.yang.gen.v1.urn.opendaylight.genius.alivenessmonitor.rev160411.monitor.event org.opendaylight.yang.gen.v1.urn.opendaylight.genius.arputil.rev160406 org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406 org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406 org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406 org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.external.tunnel.list org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.tunnels_state org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406 org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.dc.gateway.ip.list org.opendaylight.yang.gen.v1.urn.opendaylight.genius.lockmanager.rev160413 org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819 org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602 org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.elan.instances org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.elan.interfaces org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.fibmanager.rev150330 org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911 org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.add.dpn.event org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.adjacency.list org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.learnt.vpn.vip.to.port.data org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.port.op.data org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.remove.dpn.event org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.subnet.op.data org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.subnet.op.data.subnet.op.data.entry org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.subnet.op.data.subnet.op.data.entry.subnet.to.dpn org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.vpn.id.to.vpn.instance org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.vpn.instance.op.data org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.vpn.instance.op.data.vpn.instance.op.data.entry org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.vpn.instance.op.data.vpn.instance.op.data.entry.vpn.to.dpn.list org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.vpn.instance.op.data.vpn.instance.op.data.entry.vpntargets org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.vpn.instance.to.vpn.id org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.natservice.rev160111 org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.natservice.rev160111.ext.routers org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.natservice.rev160111.external.networks org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.natservice.rev160111.napt.switches org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602 org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.neutron.vpn.portip.port.data org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.subnetmaps org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.vpn.config.rev161130 org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.vpn.rpc.rev160201 org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421 org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709 org.opendaylight.yangtools.yang.binding org.opendaylight.yangtools.yang.common org.slf4j |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 1 | 20 | 0.0% | 95.0% | 5.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| None | org.opendaylight.netvirt.vpnmanager.arp.responder.ArpResponderConstant org.opendaylight.netvirt.vpnmanager.arp.responder.ArpResponderUtil |
org.opendaylight.netvirt.vpnmanager |
java.lang java.math java.text java.util java.util.concurrent org.opendaylight.controller.md.sal.binding.api org.opendaylight.genius.mdsalutil org.opendaylight.genius.mdsalutil.actions org.opendaylight.genius.mdsalutil.instructions org.opendaylight.genius.mdsalutil.interfaces org.opendaylight.genius.mdsalutil.matches org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715 org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.list org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406 org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406 org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018 org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.add.group.input.buckets.bucket.action.action org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.resubmit.grouping org.opendaylight.yangtools.yang.common org.slf4j |
| 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.opendaylight.netvirt.vpnmanager.cache.listeners.VpnOpInstanceCacheManager |
None | java.lang org.opendaylight.controller.md.sal.binding.api org.opendaylight.controller.md.sal.common.api.data org.opendaylight.genius.datastoreutils org.opendaylight.genius.utils.cache org.opendaylight.netvirt.vpnmanager org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911 org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.vpn.instance.op.data org.opendaylight.yangtools.yang.binding org.slf4j |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 2 | 20 | 0.0% | 91.0% | 9.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| None | org.opendaylight.netvirt.vpnmanager.intervpnlink.IVpnLinkServiceImpl$1 org.opendaylight.netvirt.vpnmanager.intervpnlink.InterVpnLinkCacheFeeder org.opendaylight.netvirt.vpnmanager.intervpnlink.InterVpnLinkListener$1 org.opendaylight.netvirt.vpnmanager.intervpnlink.InterVpnLinkNodeAddTask org.opendaylight.netvirt.vpnmanager.intervpnlink.InterVpnLinkStateCacheFeeder org.opendaylight.netvirt.vpnmanager.intervpnlink.InterVpnLinkStateListener |
org.opendaylight.netvirt.vpnmanager org.opendaylight.netvirt.vpnmanager.intervpnlink.tasks |
com.google.common.base com.google.common.util.concurrent java.lang java.math java.util java.util.concurrent org.opendaylight.controller.md.sal.binding.api org.opendaylight.controller.md.sal.common.api.data org.opendaylight.genius.datastoreutils org.opendaylight.genius.mdsalutil.interfaces org.opendaylight.netvirt.fibmanager.api org.opendaylight.netvirt.vpnmanager org.opendaylight.netvirt.vpnmanager.api.intervpnlink org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.netvirt.inter.vpn.link.rev160311 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.netvirt.inter.vpn.link.rev160311.inter.vpn.link.states org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.netvirt.inter.vpn.link.rev160311.inter.vpn.link.states.inter.vpn.link.state org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.netvirt.inter.vpn.link.rev160311.inter.vpn.links org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.netvirt.inter.vpn.link.rev160311.inter.vpn.links.inter.vpn.link org.opendaylight.yangtools.yang.binding org.slf4j |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 0 | 15 | 0.0% | 100.0% | 0.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| None | org.opendaylight.netvirt.vpnmanager.intervpnlink.tasks.InterVpnLinkCleanedCheckerTask org.opendaylight.netvirt.vpnmanager.intervpnlink.tasks.InterVpnLinkCreatorTask org.opendaylight.netvirt.vpnmanager.intervpnlink.tasks.InterVpnLinkRemoverTask |
None | com.google.common.base java.lang java.util java.util.concurrent org.opendaylight.controller.md.sal.binding.api org.opendaylight.controller.md.sal.common.api.data org.opendaylight.genius.datastoreutils org.opendaylight.netvirt.fibmanager.api org.opendaylight.netvirt.vpnmanager org.opendaylight.netvirt.vpnmanager.intervpnlink org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.netvirt.inter.vpn.link.rev160311.inter.vpn.links org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.netvirt.inter.vpn.link.rev160311.inter.vpn.links.inter.vpn.link org.opendaylight.yangtools.yang.binding org.slf4j |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 0 | 21 | 0.0% | 100.0% | 0.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| None | org.opendaylight.netvirt.vpnmanager.populator.impl.L3vpnOverMplsGrePopulator org.opendaylight.netvirt.vpnmanager.populator.impl.L3vpnOverVxlanPopulator org.opendaylight.netvirt.vpnmanager.populator.impl.L3vpnPopulator |
None | com.google.common.base java.lang java.math java.util org.opendaylight.controller.md.sal.binding.api org.opendaylight.controller.md.sal.common.api.data org.opendaylight.genius.mdsalutil org.opendaylight.netvirt.bgpmanager.api org.opendaylight.netvirt.fibmanager.api org.opendaylight.netvirt.vpnmanager org.opendaylight.netvirt.vpnmanager.populator.input org.opendaylight.netvirt.vpnmanager.populator.intfc org.opendaylight.netvirt.vpnmanager.populator.registry org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406 org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.fibmanager.rev150330 org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.fibmanager.rev150330.fibentries org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.fibmanager.rev150330.vrfentries org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.adjacency.list org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.vpn.instance.op.data org.opendaylight.yangtools.yang.binding org.slf4j |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 2 | 5 | 0.0% | 71.0% | 29.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| None | org.opendaylight.netvirt.vpnmanager.populator.input.L3vpnInput |
org.opendaylight.netvirt.vpnmanager.populator.impl org.opendaylight.netvirt.vpnmanager.populator.intfc |
java.lang java.math org.opendaylight.netvirt.fibmanager.api org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.fibmanager.rev150330 org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.adjacency.list |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 3 | 6 | 100.0% | 67.0% | 67.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| org.opendaylight.netvirt.vpnmanager.populator.intfc.VpnPopulator |
None | org.opendaylight.netvirt.vpnmanager org.opendaylight.netvirt.vpnmanager.populator.impl org.opendaylight.netvirt.vpnmanager.populator.registry |
java.lang java.math org.opendaylight.controller.md.sal.binding.api org.opendaylight.netvirt.vpnmanager.populator.input org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.fibmanager.rev150330 org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.adjacency.list |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 2 | 6 | 0.0% | 75.0% | 25.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| None | org.opendaylight.netvirt.vpnmanager.populator.registry.L3vpnRegistry |
org.opendaylight.netvirt.vpnmanager org.opendaylight.netvirt.vpnmanager.populator.impl |
java.lang java.util java.util.concurrent org.opendaylight.netvirt.vpnmanager.populator.intfc org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.fibmanager.rev150330 org.slf4j |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 1 | 25 | 0.0% | 96.0% | 4.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| None | org.opendaylight.netvirt.vpnmanager.utilities.InterfaceUtils org.opendaylight.netvirt.vpnmanager.utilities.VpnManagerCounters |
org.opendaylight.netvirt.vpnmanager |
com.google.common.base java.lang java.math java.util java.util.concurrent org.opendaylight.controller.md.sal.binding.api org.opendaylight.controller.md.sal.common.api.data org.opendaylight.infrautils.counters.api org.opendaylight.netvirt.vpnmanager org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715 org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508 org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715 org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406 org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406 org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.service.bindings org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.service.bindings.services.info org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406 org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.dpn.endpoints org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.dpn.endpoints.dpn.teps.info org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819 org.opendaylight.yangtools.yang.binding org.opendaylight.yangtools.yang.common org.slf4j |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 1 | 9 | 29.0% | 90.0% | 19.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.vpn.config.rev161130.VpnConfig org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.vpn.config.rev161130.VpnConfigData |
org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.vpn.config.rev161130.$YangModelBindingProvider org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.vpn.config.rev161130.$YangModuleInfoImpl org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.vpn.config.rev161130.VpnConfigBuilder org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.vpn.config.rev161130.VpnConfigBuilder$1 org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.vpn.config.rev161130.VpnConfigBuilder$VpnConfigImpl |
org.opendaylight.netvirt.vpnmanager |
com.google.common.collect java.io java.lang java.lang.reflect java.math java.util org.opendaylight.yangtools.concepts org.opendaylight.yangtools.yang.binding org.opendaylight.yangtools.yang.common |
| Package | Package Dependencies |
|---|---|
| org.opendaylight.netvirt.vpnmanager | org.opendaylight.netvirt.vpnmanager.utilities org.opendaylight.netvirt.vpnmanager |
| org.opendaylight.netvirt.vpnmanager.cache.listeners | org.opendaylight.netvirt.vpnmanager org.opendaylight.netvirt.vpnmanager.utilities org.opendaylight.netvirt.vpnmanager |
| org.opendaylight.netvirt.vpnmanager.intervpnlink | org.opendaylight.netvirt.vpnmanager org.opendaylight.netvirt.vpnmanager.utilities org.opendaylight.netvirt.vpnmanager |
| org.opendaylight.netvirt.vpnmanager.intervpnlink.tasks | org.opendaylight.netvirt.vpnmanager.intervpnlink org.opendaylight.netvirt.vpnmanager org.opendaylight.netvirt.vpnmanager.utilities org.opendaylight.netvirt.vpnmanager |
| org.opendaylight.netvirt.vpnmanager.populator.impl | org.opendaylight.netvirt.vpnmanager org.opendaylight.netvirt.vpnmanager.utilities org.opendaylight.netvirt.vpnmanager |
| org.opendaylight.netvirt.vpnmanager.utilities | org.opendaylight.netvirt.vpnmanager org.opendaylight.netvirt.vpnmanager.utilities |
| 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. |