📄 proxy.java
字号:
package com.javapatterns.proxy.smartproxy;
public class Proxy implements Searcher
{
/**
* @link aggregation
* @directed
*/
private RealSearcher searcher;
/**
* @link aggregation
* @directed
*/
private UsageLogger usageLogger;
/**
* @link aggregation
* @directed
*/
private AccessValidator accessValidator;
public Proxy()
{
searcher = new RealSearcher();
}
public String doSearch(String userId, String keyValue)
{
if (checkAccess(userId))
{
String result = searcher.doSearch(null, keyValue);
logUsage(userId);
return result;
}
else
{
return null;
}
}
private boolean checkAccess(String userId)
{
accessValidator = new AccessValidator();
return accessValidator.vaidateUser(userId);
}
private void logUsage(String userId)
{
UsageLogger logger = new UsageLogger();
logger.setUserId(userId);
logger.save();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -