if (getTranslationReferencePlacement() != ElementPlacement.AS_IS && getReferenceSort() == ElementPlacementSort.SORT_UNUSED_LAST) { final Iterable<? extends Node> nodes = context.nodesOfType(getNodeClasses()); for (Node node: nodes) { N referencingNode = lastReference == null ? null : lastReference.getReferencingNode(node); if (getTranslationReferencePlacement() == ElementPlacement.DOCUMENT_TOP) { formatReferences(context, markdown); if (getTranslationReferencePlacement() == ElementPlacement.DOCUMENT_BOTTOM) { formatReferences(context, markdown);
private void formatReferences(final NodeFormatterContext context, MarkdownWriter markdown) { ArrayList<B> references = new ArrayList<B>(referenceList); switch (getReferenceSort()) { case AS_IS: break; Collections.sort(references, getReferenceComparator()); break; Collections.sort(used, getReferenceComparator()); Collections.sort(unused, getReferenceComparator()); references.clear(); references.addAll(used); renderReferenceBlock(reference, context, markdown);
protected ElementPlacement getTranslationReferencePlacement() { if (myContext.isTransformingText()) { return ElementPlacement.AS_IS; } else { return getReferencePlacement(); } }
protected void renderReference(B node, NodeFormatterContext context, MarkdownWriter markdown) { if (!repositoryNodesDone) { switch (getTranslationReferencePlacement()) { case AS_IS: renderReferenceBlock(node, context, markdown); if (node.getNext() == null || node.getNext().getClass() != node.getClass()) { markdown.blankLine(); } break; case GROUP_WITH_FIRST: // must be the first since we are here formatReferences(context, markdown); break; case GROUP_WITH_LAST: if (node == lastReference) { formatReferences(context, markdown); } break; } } } }
public NodeRepositoryFormatter(DataHolder options, DataKey<Map<String, String>> referenceMapKey) { myReferenceMapKey = referenceMapKey; referenceRepository = getRepository(options); referenceList = referenceRepository.values(); lastReference = referenceList.isEmpty() ? null : referenceList.get(referenceList.size() - 1); unusedReferences = new HashSet<Node>(); this.recheckUndefinedReferences = HtmlRenderer.RECHECK_UNDEFINED_REFERENCES.getFrom(options); repositoryNodesDone = false; myComparator = new Comparator<B>() { @Override public int compare(final B o1, final B o2) { return o1.compareTo(o2); } }; }
protected String transformReferenceId(final String nodeText, final NodeFormatterContext context) { if (context.isTransformingText()) { String transformed; switch (context.getRenderPurpose()) { case TRANSLATION_SPANS: case TRANSLATED_SPANS: if (referenceTranslationMap != null) { if (referenceTranslationMap.containsKey(nodeText)) { transformed = referenceTranslationMap.get(nodeText); } else { transformed = context.transformNonTranslating(null, nodeText, null, null).toString(); referenceTranslationMap.put(nodeText, transformed); } } else { transformed = context.transformNonTranslating(null, nodeText, null, null).toString(); } return modifyTransformedReference(transformed, context); case TRANSLATED: String untransformed = modifyTransformedReference(nodeText, context); String s = context.transformNonTranslating(null, untransformed, null, null).toString(); return s; case FORMAT: default: break; } } return nodeText; }
@Override public void renderDocument(final NodeFormatterContext context, final MarkdownWriter markdown, final Document document, final FormattingPhase phase) { super.renderDocument(context, markdown, document, phase);
protected void renderReference(B node, NodeFormatterContext context, MarkdownWriter markdown) { if (!repositoryNodesDone) { switch (getTranslationReferencePlacement()) { case AS_IS: renderReferenceBlock(node, context, markdown); if (node.getNext() == null || node.getNext().getClass() != node.getClass()) { markdown.blankLine(); } break; case GROUP_WITH_FIRST: // must be the first since we are here formatReferences(context, markdown); break; case GROUP_WITH_LAST: if (node == lastReference) { formatReferences(context, markdown); } break; } } } }
public NodeRepositoryFormatter(DataHolder options, DataKey<Map<String, String>> referenceMapKey) { myReferenceMapKey = referenceMapKey; referenceRepository = getRepository(options); referenceList = referenceRepository.values(); lastReference = referenceList.isEmpty() ? null : referenceList.get(referenceList.size() - 1); unusedReferences = new HashSet<Node>(); this.recheckUndefinedReferences = HtmlRenderer.RECHECK_UNDEFINED_REFERENCES.getFrom(options); repositoryNodesDone = false; myComparator = new Comparator<B>() { @Override public int compare(final B o1, final B o2) { return o1.compareTo(o2); } }; }
protected String transformReferenceId(final String nodeText, final NodeFormatterContext context) { if (context.isTransformingText()) { String transformed; switch (context.getRenderPurpose()) { case TRANSLATION_SPANS: case TRANSLATED_SPANS: if (referenceTranslationMap != null) { if (referenceTranslationMap.containsKey(nodeText)) { transformed = referenceTranslationMap.get(nodeText); } else { transformed = context.transformNonTranslating(null, nodeText, null, null).toString(); referenceTranslationMap.put(nodeText, transformed); } } else { transformed = context.transformNonTranslating(null, nodeText, null, null).toString(); } return modifyTransformedReference(transformed, context); case TRANSLATED: String untransformed = modifyTransformedReference(nodeText, context); String s = context.transformNonTranslating(null, untransformed, null, null).toString(); return s; case FORMAT: default: break; } } return nodeText; }
@Override public void renderDocument(final NodeFormatterContext context, final MarkdownWriter markdown, final Document document, final FormattingPhase phase) { super.renderDocument(context, markdown, document, phase);
if (getTranslationReferencePlacement() != ElementPlacement.AS_IS && getReferenceSort() == ElementPlacementSort.SORT_UNUSED_LAST) { final Iterable<? extends Node> nodes = context.nodesOfType(getNodeClasses()); for (Node node: nodes) { N referencingNode = lastReference == null ? null : lastReference.getReferencingNode(node); if (getTranslationReferencePlacement() == ElementPlacement.DOCUMENT_TOP) { formatReferences(context, markdown); if (getTranslationReferencePlacement() == ElementPlacement.DOCUMENT_BOTTOM) { formatReferences(context, markdown);
private void formatReferences(final NodeFormatterContext context, MarkdownWriter markdown) { ArrayList<B> references = new ArrayList<B>(referenceList); switch (getReferenceSort()) { case AS_IS: break; Collections.sort(references, getReferenceComparator()); break; Collections.sort(used, getReferenceComparator()); Collections.sort(unused, getReferenceComparator()); references.clear(); references.addAll(used); renderReferenceBlock(reference, context, markdown);
protected ElementPlacement getTranslationReferencePlacement() { if (myContext.isTransformingText()) { return ElementPlacement.AS_IS; } else { return getReferencePlacement(); } }