package org.infinispan.objectfilter.impl.predicateindex; import org.infinispan.objectfilter.impl.FilterSubscriptionImpl; import org.infinispan.objectfilter.impl.MetadataAdapter; import org.infinispan.objectfilter.impl.predicateindex.be.PredicateNode; /** * @author anistor@redhat.com * @since 7.0 */ final class RootNode<AttributeMetadata, AttributeId extends Comparable<AttributeId>> extends AttributeNode<AttributeMetadata, AttributeId> { RootNode(MetadataAdapter<?, AttributeMetadata, AttributeId> metadataAdapter) { super(metadataAdapter); } @Override public Predicates.Subscription<AttributeId> addPredicateSubscription(PredicateNode<AttributeId> predicateNode, FilterSubscriptionImpl filterSubscription) { throw new UnsupportedOperationException("Root node does not allow predicates"); } @Override public void removePredicateSubscription(Predicates.Subscription<AttributeId> subscription) { throw new UnsupportedOperationException("Root node does not allow predicates"); } @Override public void addProjection(FilterSubscriptionImpl filterSubscription, int position) { throw new UnsupportedOperationException("Root node does not allow projections"); } @Override public void removeProjections(FilterSubscriptionImpl filterSubscription) { throw new UnsupportedOperationException("Root node does not allow projections"); } @Override public String toString() { return "RootNode"; } }