@SuppressWarnings("WeakerAccess") public static String generateId(CharSequence headerText, String toDashChars, boolean noDupedDashes, final boolean nonAsciiToLowercase) { return generateId(headerText, toDashChars, null, noDupedDashes, nonAsciiToLowercase); }
@Override public String getId(final CharSequence text) { return generateId(text.toString()); }
/** * @param headerText * @param toDashChars * @param noDupedDashes * @return header id * @deprecated use {@link #generateId(CharSequence, String, String, boolean, boolean)} */ @Deprecated public static String generateId(CharSequence headerText, String toDashChars, boolean noDupedDashes) { return generateId(headerText, toDashChars, null, noDupedDashes, true); }
String generateId(final String text) { if (!text.isEmpty()) { String baseRefId = generateId(text, toDashChars, nonDashChars, noDupedDashes, nonAsciiToLowercase); if (resolveDupes) { if (headerBaseIds.containsKey(baseRefId)) { int index = headerBaseIds.get(baseRefId); index++; headerBaseIds.put(baseRefId, index); baseRefId += "-" + index; } else { headerBaseIds.put(baseRefId, 0); } } return baseRefId; } return null; }
@Override protected void visit(AnchorRefTarget node) { if (node.getAnchorRefId().isEmpty()) { String text = node.getAnchorRefText(); String refId = null; refId = generateId(text); if (refId != null) { node.setAnchorRefId(refId); } } } }.visit(document);
@SuppressWarnings("WeakerAccess") public static String generateId(CharSequence headerText, String toDashChars, boolean noDupedDashes, final boolean nonAsciiToLowercase) { return generateId(headerText, toDashChars, null, noDupedDashes, nonAsciiToLowercase); }
/** * @param headerText * @param toDashChars * @param noDupedDashes * @return header id * @deprecated use {@link #generateId(CharSequence, String, String, boolean, boolean)} */ @Deprecated public static String generateId(CharSequence headerText, String toDashChars, boolean noDupedDashes) { return generateId(headerText, toDashChars, null, noDupedDashes, true); }
@Override public String getId(final CharSequence text) { return generateId(text.toString()); }
String generateId(final String text) { if (!text.isEmpty()) { String baseRefId = generateId(text, toDashChars, nonDashChars, noDupedDashes, nonAsciiToLowercase); if (resolveDupes) { if (headerBaseIds.containsKey(baseRefId)) { int index = headerBaseIds.get(baseRefId); index++; headerBaseIds.put(baseRefId, index); baseRefId += "-" + index; } else { headerBaseIds.put(baseRefId, 0); } } return baseRefId; } return null; }
@Override protected void visit(AnchorRefTarget node) { if (node.getAnchorRefId().isEmpty()) { String text = node.getAnchorRefText(); String refId = null; refId = generateId(text); if (refId != null) { node.setAnchorRefId(refId); } } } }.visit(document);