Class MergeCommand<T extends org.opendaylight.yangtools.yang.binding.DataObject,​Y extends org.opendaylight.yangtools.concepts.Builder,​Z extends org.opendaylight.yangtools.yang.binding.DataObject>

    • Constructor Summary

      Constructors 
      Constructor Description
      MergeCommand()  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      @NonNull java.util.List<T> diffByKey​(java.util.List<T> updated, java.util.List<T> original)  
      abstract org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> generateId​(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node> id, T node)  
      abstract @Nullable java.util.List<T> getData​(Z node)  
      abstract java.lang.String getDescription()  
      abstract org.opendaylight.yangtools.yang.binding.Identifier getKey​(T data)  
      void mergeConfigData​(Y dst, Z src, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node> nodePath)
      Abstract function to merge data from src to dst in Config Topology.
      void mergeOperationalData​(Y dst, Z existingData, Z src, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node> nodePath)
      Abstract function to merge data from src to dst in Operational Topology.
      void mergeOpUpdate​(Z origDst, Z updatedSrc, Z origSrc, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node> nodePath, org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction tx)
      Abstract function to update data from src to dst in Operational Topology.
      abstract void setData​(Y builder, java.util.List<T> data)  
      java.util.List<T> transform​(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node> nodePath, java.util.List<T> list)  
      abstract T transform​(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node> nodePath, T objT)  
      java.util.List<T> transformConfigData​(java.util.List<T> updatedSrc, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node> nodePath)  
      java.util.List<T> transformOpData​(java.util.List<T> existingData, java.util.List<T> src, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node> nodePath)  
      void transformUpdate​(java.util.List<T> existing, java.util.List<T> updated, java.util.List<T> orig, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node> nodePath, org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType datastoreType, org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction tx)  
      abstract T withoutUuid​(T data)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • MergeCommand

        public MergeCommand()
    • Method Detail

      • transformOpData

        public java.util.List<T> transformOpData​(java.util.List<T> existingData,
                                                 java.util.List<T> src,
                                                 org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node> nodePath)
      • transformConfigData

        public java.util.List<T> transformConfigData​(java.util.List<T> updatedSrc,
                                                     org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node> nodePath)
      • diffByKey

        public @NonNull java.util.List<T> diffByKey​(java.util.List<T> updated,
                                                    java.util.List<T> original)
      • transformUpdate

        public void transformUpdate​(java.util.List<T> existing,
                                    java.util.List<T> updated,
                                    java.util.List<T> orig,
                                    org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node> nodePath,
                                    org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType datastoreType,
                                    org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction tx)
      • transform

        public java.util.List<T> transform​(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node> nodePath,
                                           java.util.List<T> list)
      • transform

        public abstract T transform​(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node> nodePath,
                                    T objT)
      • mergeOperationalData

        public void mergeOperationalData​(Y dst,
                                         Z existingData,
                                         Z src,
                                         org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node> nodePath)
        Description copied from interface: IMergeCommand
        Abstract function to merge data from src to dst in Operational Topology. while existing data helps in keeping track of data only updated
        Specified by:
        mergeOperationalData in interface IMergeCommand<T extends org.opendaylight.yangtools.yang.binding.DataObject,​Y extends org.opendaylight.yangtools.concepts.Builder,​Z extends org.opendaylight.yangtools.yang.binding.DataObject>
        Parameters:
        dst - Builder which will be used to build concrete object
        existingData - dataObject which are already exisitng
        src - dataObjects of source
        nodePath - nodePath of dest
      • mergeConfigData

        public void mergeConfigData​(Y dst,
                                    Z src,
                                    org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node> nodePath)
        Description copied from interface: IMergeCommand
        Abstract function to merge data from src to dst in Config Topology.
        Specified by:
        mergeConfigData in interface IMergeCommand<T extends org.opendaylight.yangtools.yang.binding.DataObject,​Y extends org.opendaylight.yangtools.concepts.Builder,​Z extends org.opendaylight.yangtools.yang.binding.DataObject>
        Parameters:
        dst - builder which will be used to build concrete object
        src - builder which are to be merged in destination
        nodePath - nodePath of dest
      • mergeOpUpdate

        public void mergeOpUpdate​(Z origDst,
                                  Z updatedSrc,
                                  Z origSrc,
                                  org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node> nodePath,
                                  org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction tx)
        Description copied from interface: IMergeCommand
        Abstract function to update data from src to dst in Operational Topology. while existing data helps in keeping track of data only updated
        Specified by:
        mergeOpUpdate in interface IMergeCommand<T extends org.opendaylight.yangtools.yang.binding.DataObject,​Y extends org.opendaylight.yangtools.concepts.Builder,​Z extends org.opendaylight.yangtools.yang.binding.DataObject>
        Parameters:
        origDst - dataObject which are already exisitng
        updatedSrc - updated data source
        origSrc - original data source
        nodePath - nodePath of dest
        tx - ReadWriteTransaction
      • getData

        public abstract @Nullable java.util.List<T> getData​(Z node)
      • setData

        public abstract void setData​(Y builder,
                                     java.util.List<T> data)
      • generateId

        public abstract org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> generateId​(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node> id,
                                                                                                 T node)
      • getKey

        public abstract org.opendaylight.yangtools.yang.binding.Identifier getKey​(T data)
      • getDescription

        public abstract java.lang.String getDescription()
      • withoutUuid

        public abstract T withoutUuid​(T data)