/** * Get a Entry from the cache. Get either a valid entry object or create a new one if possible. * * @param pathInContext The key into the cache * @return The entry matching <code>pathInContext</code>, or a new entry if no matching entry was * found. If the content exists but is not cachable, then a {@link ResourceAsHttpContent} * instance is return. If the resource does not exist, then null is returned. * @throws IOException Problem loading the resource */ public HttpContent lookup(String pathInContext) throws IOException { // Is the content in this cache? Content content = _cache.get(pathInContext); if (content != null && (content).isValid()) return content; // try loading the content from our factory. Resource resource = _factory.getResource(pathInContext); HttpContent loaded = load(pathInContext, resource); if (loaded != null) return loaded; // Is the content in the parent cache? if (_parent != null) { HttpContent httpContent = _parent.lookup(pathInContext); if (httpContent != null) return httpContent; } return null; }