public StorageItem retrieveItem( ResourceStoreRequest request )
throws IllegalOperationException, ItemNotFoundException, StorageException, AccessDeniedException
{
if ( !checkConditions( request, Action.read ) )
{
throw new ItemNotFoundException( request, this );
}
StorageItem item = retrieveItem( false, request );
if ( StorageCollectionItem.class.isAssignableFrom( item.getClass() ) && !isBrowseable() )
{
getLogger().debug(
getId() + " retrieveItem() :: FOUND a collection on " + request.toString()
+ " but repository is not Browseable." );
throw new ItemNotFoundException( request, this );
}
if ( !checkPostConditions( request, item ) )
{
throw new ItemNotFoundException( request, this );
}
return item;
}