{@link ImprovedTransactionData} with filtering capabilities defined by {@link com.graphaware.common.policy.InclusionPolicies}, delegating to {@link com.graphaware.tx.event.improved.data.filtered.FilteredNodeTransactionData} and {@link com.graphaware.tx.event.improved.data.filtered.FilteredRelationshipTransactionData}.
Results of methods returning {@link java.util.Collection}s and {@link java.util.Map}s will be filtered.
boolean
and single object returning methods will always return the full truth no matter the policies. So for example:
{@link #getAllCreatedNodes()} can return 5 nodes, but {@link #hasBeenCreated(org.neo4j.graphdb.Node)} canreturn true for more of them, as it ignores the filtering.
When traversing the graph using an object returned by this API (such as {@link com.graphaware.tx.event.improved.propertycontainer.filtered.FilteredNode}), nodes, properties, and relationships not included by the {@link com.graphaware.common.policy.InclusionPolicies} will be excluded. The only exceptionto this are relationship start and end nodes - they are returned even if they would normally be filtered out. This is a design decision in order to honor the requirement that relationships must have start and end node.