gw.util.cache.IFqnCache Maven / Gradle / Ivy
/*
* Copyright 2014 Guidewire Software, Inc.
*/
package gw.util.cache;
import gw.util.Predicate;
import java.util.Set;
/**
*/
public interface IFqnCache {
T get( String fqn );
FqnCacheNode getNode( String fqn );
boolean contains( String fqn );
void add( String fqn );
void add( String fqn, T userData );
void remove( String[] fqns );
boolean remove( String fqn );
void clear();
Set getFqns();
/**
* @param visitor returns whether or not to terminate visiting
*/
void visitDepthFirst( Predicate visitor );
void visitNodeDepthFirst( Predicate visitor );
/**
* @param visitor returns whether or not to continue visiting children of T
*/
void visitBreadthFirst( Predicate visitor );
}