Package gw.util.cache
Class FqnCache<T>
- java.lang.Object
-
- gw.util.cache.FqnCache<T>
-
-
Field Summary
Fields Modifier and Type Field Description private FqnCacheNode<T>_rootprivate static TypeSystemAwareCache<java.lang.String,java.lang.String[]>PARTS_CACHE
-
Constructor Summary
Constructors Constructor Description FqnCache()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(java.lang.String fqn)voidadd(java.lang.String fqn, T userData)voidclear()booleancontains(java.lang.String fqn)Tget(java.lang.String fqn)java.util.Set<java.lang.String>getFqns()FqnCacheNode<T>getNode(java.lang.String fqn)static java.lang.String[]getParts(java.lang.String fqn)FqnCacheNode<T>getRoot()private static booleanisCacheableString(java.lang.String part)booleanremove(java.lang.String fqn)voidremove(java.lang.String[] fqns)private static java.lang.String[]split(java.lang.String fqn)voidvisitBreadthFirst(Predicate<T> visitor)voidvisitDepthFirst(Predicate<T> visitor)voidvisitNodeDepthFirst(Predicate<FqnCacheNode> visitor)
-
-
-
Field Detail
-
PARTS_CACHE
private static final TypeSystemAwareCache<java.lang.String,java.lang.String[]> PARTS_CACHE
-
_root
private FqnCacheNode<T> _root
-
-
Method Detail
-
getRoot
public FqnCacheNode<T> getRoot()
-
getNode
public FqnCacheNode<T> getNode(java.lang.String fqn)
-
contains
public final boolean contains(java.lang.String fqn)
-
remove
public final void remove(java.lang.String[] fqns)
-
getFqns
public java.util.Set<java.lang.String> getFqns()
-
visitDepthFirst
public void visitDepthFirst(Predicate<T> visitor)
- Specified by:
visitDepthFirstin interfaceIFqnCache<T>- Parameters:
visitor- returns whether or not to terminate visiting
-
visitNodeDepthFirst
public void visitNodeDepthFirst(Predicate<FqnCacheNode> visitor)
- Specified by:
visitNodeDepthFirstin interfaceIFqnCache<T>
-
visitBreadthFirst
public void visitBreadthFirst(Predicate<T> visitor)
- Specified by:
visitBreadthFirstin interfaceIFqnCache<T>- Parameters:
visitor- returns whether or not to continue visiting children of T
-
split
private static java.lang.String[] split(java.lang.String fqn)
-
isCacheableString
private static boolean isCacheableString(java.lang.String part)
-
getParts
public static java.lang.String[] getParts(java.lang.String fqn)
-
-