in src/main/java/org/apache/maven/buildcache/xml/XmlService.java [136:154]
private <T> T fromInputStream(Class<T> clazz, InputStream inputStream) {
try {
if (clazz == Build.class) {
return clazz.cast(new BuildCacheBuildXpp3Reader().read(inputStream));
} else if (clazz == CacheConfig.class) {
return clazz.cast(new BuildCacheConfigXpp3Reader().read(inputStream));
} else if (clazz == Diff.class) {
return clazz.cast(new BuildCacheDiffXpp3Reader().read(inputStream));
} else if (clazz == CacheReport.class) {
return clazz.cast(new BuildCacheReportXpp3Reader().read(inputStream));
} else {
throw new IllegalArgumentException("Unsupported type " + clazz);
}
} catch (IOException | XmlPullParserException e) {
throw new RuntimeException("Unable to parse cache xml element", e);
} finally {
closeQuietly(inputStream);
}
}