com.rapid7.container.analyzer.docker.packages.ApkgParser Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of docker-image-analyzer Show documentation
Show all versions of docker-image-analyzer Show documentation
Extracts, parses, and analyzes Docker images into Java objects with JSON mappings.
package com.rapid7.container.analyzer.docker.packages;
import com.rapid7.container.analyzer.docker.model.image.PackageType;
import java.util.regex.Pattern;
import org.apache.commons.compress.archivers.tar.TarArchiveEntry;
public class ApkgParser extends PatternPackageParser {
private static final Pattern APKG_PATTERN = Pattern.compile("(?.*):(?.*)");
public ApkgParser() {
super(APKG_PATTERN, PackageType.APKG, new PackageKeys() {
@Override
public String getPackageKey() {
return "P";
}
@Override
public String getSourceKey() {
return "o";
}
@Override
public String getVersionKey() {
return "V";
}
@Override
public String getLicenseKey() {
return "L";
}
@Override
public String getDescriptionKey() {
return "T";
}
@Override
public String getMaintainerKey() {
return "m";
}
@Override
public String getHomePageKey() {
return "U";
}
@Override
public String getSizeKey() {
return "I";
}
});
}
@Override
public boolean supports(String name, TarArchiveEntry entry) {
return !entry.isSymbolicLink() && name.endsWith("lib/apk/db/installed");
}
}