rdbmsbasedmethoddefinitionmap.java
来自「一个关于tlms的一个小程序 看看能否帮助到别人」· Java 代码 · 共 71 行
JAVA
71 行
package com.szmx.component.security.acegipro.intercept.method;
import org.acegisecurity.intercept.method.MethodDefinitionSource;
import org.acegisecurity.intercept.method.AbstractMethodDefinitionSource;
import org.acegisecurity.ConfigAttributeDefinition;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.szmx.component.security.acegipro.providers.dao.DaoMethodDefinitionMapProvider;
import java.lang.reflect.Method;
import java.util.Iterator;
/**
* ================================================================
* Copyright 2006 szmx
* <p/>
* Change Revision
* ---------------------------------------------------------------
* Date Author Remarks
* Mar 17, 2006 BZhang Create class com.szmx.component.security.acegipro.intercept.method.RdbmsBasedMethodDefinitionMap
* ================================================================
*/
public class RdbmsBasedMethodDefinitionMap extends AbstractMethodDefinitionSource
{
//~ Static fields/initializers =============================================
private static final Log logger = LogFactory.getLog(RdbmsBasedMethodDefinitionMap.class);
//~ Instance fields ========================================================
private DaoMethodDefinitionMapProvider daoMethodDefinitionMapProvider = null;
private MethodDefinitionSource daoMethodDefinitionSource = null; // cache
//~ Methods ================================================================
public Iterator getConfigAttributeDefinitions() {
return getDaoMethodDefinitionSource().getConfigAttributeDefinitions();
}
protected ConfigAttributeDefinition lookupAttributes(Method method) {
return ((OpenedMethodDefinitionMap) getDaoMethodDefinitionSource()).lookupAttributes(method);
}
/**
* Reload MethodDefinitionSource Object From DAO
* & stored as property daoMethodDefinitionSource
*/
public void retrieveDaoMethodDefinitionSource() {
if (daoMethodDefinitionMapProvider == null) {
String msg = "None DaoMethodDefinitionMapProvider setted.";
logger.error(msg);
throw new IllegalArgumentException(msg);
}
// Load OpenedMethodDefinitionMap from datasource.
daoMethodDefinitionSource = daoMethodDefinitionMapProvider.getDaoMethodDefinitionMap();
logger.debug("Retrieved DaoMethodDefinitionSource = " + daoMethodDefinitionSource);
}
//~ Getter & Setter ========================================================
public void setDaoMethodDefinitionMapProvider(DaoMethodDefinitionMapProvider daoMethodDefinitionMapProvider) {
this.daoMethodDefinitionMapProvider = daoMethodDefinitionMapProvider;
}
public MethodDefinitionSource getDaoMethodDefinitionSource() {
if (daoMethodDefinitionSource == null) {
retrieveDaoMethodDefinitionSource();
}
return daoMethodDefinitionSource;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?