/*-----------------------------------------------------------------------------
* Copyright 2007-2010 Alfresco Software Limited.
*
* This file is part of Alfresco
*
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Alfresco is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see .
*
*
* Author Jon Cox
* File HrefStatusMap.java
*----------------------------------------------------------------------------*/
package org.alfresco.linkvalidation;
import java.util.HashMap;
import java.util.Map;
import java.util.List;
import org.springframework.extensions.surf.util.Pair;
/**
* A synchronized wrapper for the ephemeral cache of href status results.
*
* The key is the raw url that was tested (not an md5sum),
* the value is a pair consisting of the url's status code,
* and the list of files accessed when the URL is requested,
* if known. Note that all url & file data are in the namespace
* of the proposed changeset (e.g.: the workflow).
*
* This class also allows the non-synchronized map it wraps to be extracted.
*/
public class HrefStatusMap
{
Map< String, Pair>> status_;
public HrefStatusMap()
{
status_ = new HashMap>>();
}
public HrefStatusMap( Map>> status )
{ status_ = status; }
/**
* Takes the url and the Pair: status code, file dependency list
*/
public synchronized void put( String url, Pair> status)
{
status_.put( url, status );
}
public synchronized Pair> get( String url)
{
return status_.get( url );
}
Map< String, Pair>> getStatusMap() { return status_;}
}