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


Java XStream.setClassLoader方法代码示例

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


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

示例1: createCloner

import com.thoughtworks.xstream.XStream; //导入方法依赖的package包/类
@Override
public <T> Function<T, T> createCloner(ClassLoader classLoader)
{
	final XStream xstream = new XStream() {
		@Override
		protected MapperWrapper wrapMapper(MapperWrapper next) {
			return new HibernateMapper(next);
		}
	};
	xstream.setClassLoader(classLoader);
	xstream.autodetectAnnotations(true);
	xstream.registerConverter(new HibernateProxyConverter());
	xstream.registerConverter(new HibernatePersistentCollectionConverter(xstream.getMapper()));
	xstream.registerConverter(new HibernatePersistentMapConverter(xstream.getMapper()));
	xstream.registerConverter(new HibernatePersistentSortedMapConverter(xstream.getMapper()));
	xstream.registerConverter(new HibernatePersistentSortedSetConverter(xstream.getMapper()));
	return t -> (T) xstream.fromXML(xstream.toXML(t));
}
 
开发者ID:equella,项目名称:Equella,代码行数:19,代码来源:InitialiserServiceImpl.java

示例2: XStreamDataConverter

import com.thoughtworks.xstream.XStream; //导入方法依赖的package包/类
public XStreamDataConverter(Class<?> klass)
{
	xstream = new XStream();
	ClassLoader cl = xstream.getClassLoader();
	// I think they always are
	if( cl instanceof CompositeClassLoader )
	{
		((CompositeClassLoader) cl).add(klass.getClassLoader());
	}
	else
	{
		CompositeClassLoader comp = new CompositeClassLoader();
		comp.add(cl);
		comp.add(klass.getClassLoader());
		xstream.setClassLoader(comp);
	}
}
 
开发者ID:equella,项目名称:Equella,代码行数:18,代码来源:XStreamDataConverter.java

示例3: validation

import com.thoughtworks.xstream.XStream; //导入方法依赖的package包/类
@Override
public void validation() throws EditorException
{
	List<SummarySectionsConfig> sections = displayNodeList.save();

	if( sections == null || sections.size() == 0 )
	{
		throw new EditorException(
			getString("itemsummarytemplatetab.validation.nodisplaynodes"));
	}
	else
	{
		for( SummarySectionsConfig section : sections )
		{
			LanguageBundle bundleTitle = section.getBundleTitle();
			if( bundleTitle == null )
			{
				throw new EditorException(
					getString("itemsummarytemplatetab.validation.emptytitle"));
			}

			if( section.getValue().equals("displayNodes") )
			{
				xstream = new XStream();
				xstream.setClassLoader(getClass().getClassLoader());

				Object fromXML = xstream.fromXML(section.getConfiguration());
				List<DisplayNode> displayNodes = (List<DisplayNode>) fromXML;

				for( DisplayNode displayNode : displayNodes )
				{
					LanguageBundle titleBundle = displayNode.getTitle();
					String node = displayNode.getNode();
					String type = displayNode.getType();
					boolean notTheCaseTheyAllEmpty = !(titleBundle == null && Check.isEmpty(node) && Check
						.isEmpty(type));
					boolean incomplete = titleBundle == null || Check.isEmpty(node) || Check.isEmpty(type);
					// If everything's empty we ignore it (it may be being
					// deleted) but it any of the 3 critical values is
					// present we require that they all are
					if( notTheCaseTheyAllEmpty && incomplete )
					{
						throw new EditorException(
							CurrentLocale
								.get("com.tle.admin.collection.tool.itemsummarytemplatetab.validation.incomplete"));
					}
				}
			}
		}
	}
}
 
开发者ID:equella,项目名称:Equella,代码行数:52,代码来源:ItemSummaryTemplateTab.java

示例4: DisplayNodesConfig

import com.thoughtworks.xstream.XStream; //导入方法依赖的package包/类
public DisplayNodesConfig()
{
	xstream = new XStream();
	xstream.setClassLoader(getClass().getClassLoader());
}
 
开发者ID:equella,项目名称:Equella,代码行数:6,代码来源:DisplayNodesConfig.java

示例5: importer

import com.thoughtworks.xstream.XStream; //导入方法依赖的package包/类
private FileWorker importer()
{
	return new AbstractFileWorker<Control>(null, "wizard/controlImport") //$NON-NLS-1$
	{
		@Override
		public Control construct() throws Exception
		{

			final String controlXml = getCollectionService(Driver.instance())
				.importControl(Files.toByteArray(file));

			final XStream xstream = new XStream();
			final Set<String> pluginIds = getPluginIds(controlXml);
			final PluginService pluginService = Driver.instance().getPluginService();

			final CompositeClassLoader loader = new CompositeClassLoader();
			for( String pluginId : pluginIds )
			{
				loader.add(pluginService.getClassLoader(pluginId));
			}
			loader.add(WizardTree.class.getClassLoader());
			xstream.setClassLoader(loader);

			return addExportedControl((ExportedControl) xstream.fromXML(controlXml),
				getLastSelectedPathComponent(), true);
		}

		@Override
		public void finished()
		{
			if( get() != null )
			{
				Driver.displayInformation(parent, CurrentLocale.get("com.tle.admin.controls.imported")); //$NON-NLS-1$
			}
			else
			{
				Driver.displayInformation(parent, CurrentLocale.get("com.tle.admin.controls.notimported")); //$NON-NLS-1$
			}
		}
	};
}
 
开发者ID:equella,项目名称:Equella,代码行数:42,代码来源:WizardTree.java


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