本文整理匯總了Java中com.thoughtworks.xstream.XStream.allowTypeHierarchy方法的典型用法代碼示例。如果您正苦於以下問題:Java XStream.allowTypeHierarchy方法的具體用法?Java XStream.allowTypeHierarchy怎麽用?Java XStream.allowTypeHierarchy使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類com.thoughtworks.xstream.XStream
的用法示例。
在下文中一共展示了XStream.allowTypeHierarchy方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: initXStream
import com.thoughtworks.xstream.XStream; //導入方法依賴的package包/類
protected void initXStream() {
_xStream = new XStream(null, new XppDriver(), new ClassLoaderReference(
XStreamConfiguratorRegistryUtil.getConfiguratorsClassLoader(XStream.class.getClassLoader())));
_xStream.omitField(HashMap.class, "cache_bitmask");
Set<XStreamConfigurator> xStreamConfigurators = XStreamConfiguratorRegistryUtil.getXStreamConfigurators();
if (SetUtil.isEmpty(xStreamConfigurators)) {
return;
}
List<String> allowedTypeNames = new ArrayList<>();
for (XStreamConfigurator xStreamConfigurator : xStreamConfigurators) {
List<XStreamAlias> xStreamAliases = xStreamConfigurator.getXStreamAliases();
if (ListUtil.isNotEmpty(xStreamAliases)) {
for (XStreamAlias xStreamAlias : xStreamAliases) {
_xStream.alias(xStreamAlias.getName(), xStreamAlias.getClazz());
}
}
List<XStreamConverter> xStreamConverters = xStreamConfigurator.getXStreamConverters();
if (ListUtil.isNotEmpty(xStreamConverters)) {
for (XStreamConverter xStreamConverter : xStreamConverters) {
_xStream.registerConverter(new ConverterAdapter(xStreamConverter), XStream.PRIORITY_VERY_HIGH);
}
}
List<XStreamType> xStreamTypes = xStreamConfigurator.getAllowedXStreamTypes();
if (ListUtil.isNotEmpty(xStreamTypes)) {
for (XStreamType xStreamType : xStreamTypes) {
allowedTypeNames.add(xStreamType.getTypeExpression());
}
}
}
// For default permissions, first wipe than add default
_xStream.addPermission(NoTypePermission.NONE);
// Add permissions
_xStream.addPermission(PrimitiveTypePermission.PRIMITIVES);
_xStream.addPermission(XStreamStagedModelTypeHierarchyPermission.STAGED_MODELS);
_xStream.allowTypes(_XSTREAM_DEFAULT_ALLOWED_TYPES);
_xStream.allowTypeHierarchy(List.class);
_xStream.allowTypeHierarchy(Map.class);
_xStream.allowTypeHierarchy(Timestamp.class);
_xStream.allowTypeHierarchy(Set.class);
_xStream.allowTypes(allowedTypeNames.toArray(new String[0]));
_xStream.allowTypesByWildcard(new String[] { "com.thoughtworks.xstream.mapper.DynamicProxyMapper*" });
}