当前位置: 首页>>代码示例>>Java>>正文


Java Component.getExtends方法代码示例

本文整理汇总了Java中lucee.runtime.Component.getExtends方法的典型用法代码示例。如果您正苦于以下问题:Java Component.getExtends方法的具体用法?Java Component.getExtends怎么用?Java Component.getExtends使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在lucee.runtime.Component的用法示例。


在下文中一共展示了Component.getExtends方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: call

import lucee.runtime.Component; //导入方法依赖的package包/类
public static Struct call(PageContext pc , Component component) {
	DeprecatedUtil.function(pc, "ComponentInfo", "GetMetaData");
	Struct sct=new StructImpl();
    sct.setEL(KeyConstants._name,component.getName());
    sct.setEL(KeyConstants._fullname,component.getCallName());
    String extend = component.getExtends();
    if(extend==null || extend.length()==0)extend="Component";
    sct.setEL(KeyConstants._extends,extend);
    sct.setEL(KeyConstants._hint,component.getHint());
	
    return sct;
}
 
开发者ID:lucee,项目名称:Lucee4,代码行数:13,代码来源:ComponentInfo.java

示例2: call

import lucee.runtime.Component; //导入方法依赖的package包/类
public static Struct call(PageContext pc , Component component) {
	DeprecatedUtil.function(pc, "ComponentInfo", "GetMetaData");
	Struct sct=new StructImpl();
    sct.setEL(KeyConstants._name,component.getName());
    sct.setEL(KeyConstants._fullname,component.getCallName());
    String extend = component.getExtends();
    if(extend==null || extend.length()==0)extend="Component"; // TODO Object instead?
    sct.setEL(KeyConstants._extends,extend);
    sct.setEL(KeyConstants._hint,component.getHint());
	
    return sct;
}
 
开发者ID:lucee,项目名称:Lucee,代码行数:13,代码来源:ComponentInfo.java

示例3: _getComponentPropertiesClass

import lucee.runtime.Component; //导入方法依赖的package包/类
private static Class _getComponentPropertiesClass(PageContext pc,Component component) throws PageException, IOException, ClassNotFoundException {

		ASMProperty[] props = ASMUtil.toASMProperties(component.getProperties(false, true, false, false));
		
    	String className=getClassname(component,props);
    	String real=className.replace('.','/');

    	Mapping mapping = component.getPageSource().getMapping();
		PhysicalClassLoader cl = (PhysicalClassLoader)((PageContextImpl)pc).getRPCClassLoader(false);
		
		Resource classFile = cl.getDirectory().getRealResource(real.concat(".class"));
		
		// get component class information
    	String classNameOriginal=component.getPageSource().getClassName();
    	String realOriginal=classNameOriginal.replace('.','/');
		Resource classFileOriginal = mapping.getClassRootDirectory().getRealResource(realOriginal.concat(".class"));

		// load existing class when pojo is still newer than component class file
		if(classFile.lastModified()>=classFileOriginal.lastModified()) {
			try {
				Class clazz=cl.loadClass(className);
				if(clazz!=null && !hasChangesOfChildren(classFile.lastModified(), clazz))return clazz;//ClassUtil.loadInstance(clazz);
			}
			catch(Throwable t) {ExceptionUtil.rethrowIfNecessary(t);}
		}
		
		// extends
		String strExt = component.getExtends();
		Class<?> ext=Object.class;
		if(!StringUtil.isEmpty(strExt,true)) {
			ext = Caster.cfTypeToClass(strExt);
		}
		//
		// create file
		byte[] barr = ASMUtil.createPojo(real, props,ext,new Class[]{Pojo.class},component.getPageSource().getDisplayPath());
		ResourceUtil.touch(classFile);
		IOUtil.copy(new ByteArrayInputStream(barr), classFile,true);
		cl = (PhysicalClassLoader)((PageContextImpl)pc).getRPCClassLoader(true);
		return cl.loadClass(className); //ClassUtil.loadInstance(cl.loadClass(className));
	}
 
开发者ID:lucee,项目名称:Lucee,代码行数:41,代码来源:ComponentUtil.java

示例4: _getComponentPropertiesClass

import lucee.runtime.Component; //导入方法依赖的package包/类
private static Class _getComponentPropertiesClass(PageContext pc,Component component) throws PageException, IOException, ClassNotFoundException {

		ASMProperty[] props = ASMUtil.toASMProperties(ComponentProUtil.getProperties(component, false, true, false, false));
    	
    	String className=getClassname(component,props);//StringUtil.replaceLast(classNameOriginal,"$cfc","");
    	String real=className.replace('.','/');

    	Mapping mapping = component.getPageSource().getMapping();
		PhysicalClassLoader cl = (PhysicalClassLoader)((PageContextImpl)pc).getRPCClassLoader(false);
		
		Resource classFile = cl.getDirectory().getRealResource(real.concat(".class"));
		
		// get component class information
    	String classNameOriginal=component.getPageSource().getFullClassName();
    	String realOriginal=classNameOriginal.replace('.','/');
		Resource classFileOriginal = mapping.getClassRootDirectory().getRealResource(realOriginal.concat(".class"));

		// load existing class when pojo is still newer than component class file
		if(classFile.lastModified()>=classFileOriginal.lastModified()) {
			try {
				Class clazz=cl.loadClass(className);
				if(clazz!=null && !hasChangesOfChildren(classFile.lastModified(), clazz))return clazz;//ClassUtil.loadInstance(clazz);
			}
			catch(Throwable t){
				ExceptionUtil.rethrowIfNecessary(t);
			}
		}
		
		// extends
		String strExt = component.getExtends();
		Class<?> ext=Object.class;
		if(!StringUtil.isEmpty(strExt,true)) {
			ext = Caster.cfTypeToClass(strExt);
		}
		//
		// create file
		byte[] barr = ASMUtil.createPojo(real, props,ext,new Class[]{Pojo.class},component.getPageSource().getDisplayPath());
		ResourceUtil.touch(classFile);
		IOUtil.copy(new ByteArrayInputStream(barr), classFile,true);
		cl = (PhysicalClassLoader)((PageContextImpl)pc).getRPCClassLoader(true);
		return cl.loadClass(className); //ClassUtil.loadInstance(cl.loadClass(className));
	}
 
开发者ID:lucee,项目名称:Lucee4,代码行数:43,代码来源:ComponentUtil.java


注:本文中的lucee.runtime.Component.getExtends方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。