Interface DataChannelSyncFilter

  • All Known Subinterfaces:
    DataChannelFilter
    All Known Implementing Classes:
    TransactionFilter
    Functional Interface:
    This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

    @FunctionalInterface
    public interface DataChannelSyncFilter
    An interface of a filter that allows to intercept DataChannel sync operations. Sync filters allow to implement chains of custom processors around a DataChannel.

    Example:

    
     public class MySyncFilter implements DataChannelSyncFilter {
         public GraphDiff onSync(ObjectContext originatingContext,
                                 GraphDiff changes,
                                 int syncType,
                                 DataChannelSyncFilterChain filterChain) {
             System.out.println("Do something before sync");
             // process changes or return some custom diff
             GraphDiff diff = filterChain.onSync(originatingContext, changes, syncType);
             System.out.println("Do something after sync");
             return diff;
         }
     }
    Since:
    4.1
    See Also:
    DataChannelQueryFilter, ServerModule.contributeDomainSyncFilters(org.apache.cayenne.di.Binder)