📄 link.java
字号:
/*
* FileName LinkImpl.java
* Create Time 2005-8-2 10:11:18
* Author shiwei
* Descript 链接管理
* Version
*/
package com.snoics.reptile.link;
import java.util.ArrayList;
import java.util.HashMap;
import com.snoics.base.util.StringClass;
import com.snoics.base.net.*;
import com.snoics.reptile.cache.Cache;
import com.snoics.reptile.system.common.Common;
import com.snoics.reptile.system.common.CommonObject;
public class Link implements ILink{
private CommonObject commonObject=new CommonObject();
private ArrayList reptilecache=commonObject.getReptileCache();
private Cache cache=new Cache();
private SnoicsUrl snoicsurl=new SnoicsUrl();
/**
* 将新的链接加入到缓存中
* @param url
* @param link
*/
public void addLink(String url,String link){
HashMap cacheunit=cache.getCacheUnit(reptilecache);
cacheunit.put(url,link);
}
/**
* 根据分析取得的URL获取缓存中的相应的链接,如果缓存中不存在这个链接则返回null
* @param url
* @return String
*/
public String getLink(String url){
String link=null;
reptilecache=commonObject.getReptileCache();
int length=reptilecache.size();
for(int i=0;i<length;i++){
HashMap cacheunit=(HashMap)reptilecache.get(i);
link=(String)cacheunit.get(url);
if(link!=null){
break;
}
}
return link;
}
/**
* 根据分析取得的URL更改缓存中相应的链接,如果缓存中不存在,则加入新的链接
* @param url
* @param link
*/
public void setLink(String url,String link){
String templink=null;
reptilecache=commonObject.getReptileCache();
int length=reptilecache.size();
for(int i=0;i<length;i++){
HashMap cacheunit=(HashMap)reptilecache.get(i);
templink=(String)cacheunit.get(url);
if(templink!=null){
cacheunit.put(url,link);
return;
}
}
addLink(url,link);
}
/**
* 根据分析取得的URL,按照相应的规则生成新的链接
* @param url
* @param parentpageurl
* @return String
*/
public String createFullLink(String url,String parentpageurl){
String link="";
try{
link=snoicsurl.getResolved(parentpageurl,url).toString();
}catch(Exception e){
link=null;
}
return link;
}
/**
* 根据分析取得的URL,按照相应的规则生成新的链接
* @param url
* @param parentpageurl
*/
public String createRelativizeWithWebsiteLink(String url,String parentpageurl){
String link="";
String website=commonObject.getConfigInfo(Common.CONFIGFILE_NODE_WEBSITE);
try{
link=snoicsurl.getResolved(parentpageurl,url).toString();
link=snoicsurl.getRelativize(website,link).toString();
link="/"+link;
link=StringClass.getFormatPath(link);
}catch(Exception e){
link=null;
}
return link;
}
/**
* 根据分析取得的URL,将相应的连接从缓存中移除
* @param url
*/
public void removeLink(String url){
String templink=null;
reptilecache=commonObject.getReptileCache();
int length=reptilecache.size();
for(int i=0;i<length;i++){
HashMap cacheunit=(HashMap)reptilecache.get(i);
templink=(String)cacheunit.get(url);
if(templink!=null){
cacheunit.remove(url);
return;
}
}
}
public static void main(String[] args){
Link link=new Link();
String url="../../image/a.gif";
String nowpageurl="http://192.168.0.1/re/abc/feji/sdfew/fdsjf/aaa.jsp";
String newurl=link.createFullLink(url,nowpageurl);
System.out.println("newurl="+newurl);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -