templink.java

来自「java写的搜索引擎网络爬虫 java写的搜索引擎网络爬虫 java写的搜索」· Java 代码 · 共 85 行

JAVA
85
字号
/* 
 * FileName TempLinkImpl.java
 * Create Time 2005-8-8 14:06:11
 * Author shiwei
 * Descript 临时缓存中的连接管理
 * Version 
 */
package com.snoics.reptile.link;

import java.util.ArrayList;
import java.util.HashMap;

import com.snoics.reptile.cache.TempCache;
import com.snoics.reptile.system.common.CommonObject;

public class TempLink implements ILink{
	
	private CommonObject commonObject=new CommonObject();
	private ArrayList tempcache=commonObject.getReptileTempCache();
	private TempCache cache=new TempCache();
	
	/**
	 * 将新的链接加入到缓存中
	 * @param url
	 * @param link
	 */
	public void addLink(String url,String link){
		//System.out.println("addLink : "+url+" to "+link);
		HashMap cacheunit=cache.getCacheUnit(tempcache);
		cacheunit.put(url,link);
	}
	
	/**
	 * 根据分析取得的URL获取缓存中的相应的链接,如果缓存中不存在这个链接则返回null
	 * @param url
	 * @return String
	 */
	public String getLink(String url){
		int length=tempcache.size();
		for(int i=0;i<length;i++){
			HashMap cacheunit=(HashMap)tempcache.get(i);
			String link=(String)cacheunit.get(url);
			if(link!=null){
				//System.out.println("getLink : "+url+" to "+link);
				return link;
			}
		}
		return null;
	}
	
	/**
	 * 根据分析取得的URL更改缓存中相应的链接,如果缓存中不存在,则加入新的链接
	 * @param url
	 * @param link
	 */
	public void setLink(String url,String link){
		int length=tempcache.size();
		for(int i=0;i<length;i++){
			HashMap cacheunit=(HashMap)tempcache.get(i);
			String templink=(String)cacheunit.get(url);
			if(templink!=null){
				cacheunit.put(url,link);
				return;
			}
		}
		addLink(url,link);
	}
	
	/**
	 * 根据分析取得的URL,将相应的连接从缓存中移除
	 * @param url
	 */
	public void removeLink(String url){
		int length=tempcache.size();
		for(int i=0;i<length;i++){
			HashMap cacheunit=(HashMap)tempcache.get(i);
			String templink=(String)cacheunit.get(url);
			if(templink!=null){
				cacheunit.remove(url);
				return;
			}
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?