@Nullable private static Set<ContentType> stringToTypes(String folderName) { int value; try { value = Integer.parseInt(folderName, 16); } catch (NumberFormatException e) { return null; } ImmutableSet.Builder<ContentType> typesBuilder = ImmutableSet.builder(); for (ContentType type : ExtendedContentType.getAllContentTypes()) { if ((type.getValue() & value) != 0) { typesBuilder.add(type); } } Set<ContentType> types = typesBuilder.build(); if (types.isEmpty()) { return null; } return types; }
private static String typesToString(@NonNull Set<ContentType> types) { int value = 0; for (ContentType type : types) { value += type.getValue(); } return String.format("%x", value); }