Package org.apache.cayenne
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.
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:
-
Method Summary
Modifier and TypeMethodDescriptiononSync
(ObjectContext originatingContext, GraphDiff changes, int syncType, DataChannelSyncFilterChain filterChain)
-
Method Details
-
onSync
GraphDiff onSync(ObjectContext originatingContext, GraphDiff changes, int syncType, DataChannelSyncFilterChain filterChain) - Parameters:
originatingContext
- originating context of changeschanges
- diff that is being processedsyncType
- type of sync; possible values:DataChannel.FLUSH_NOCASCADE_SYNC
,DataChannel.FLUSH_CASCADE_SYNC
,DataChannel.ROLLBACK_CASCADE_SYNC
filterChain
- chain of sync filters to invoke after this filter- Returns:
- final context diff
- See Also:
-