Η πρόσθετη λειτουργία αναζήτησης σας επιτρέπει να ρυθμίσετε προβολές που βοηθούν το χρήστη στη συγχώνευση διαφορετικών ροών περιεχομένου. Σε μερικές περιπτώσεις, ωστόσο, είναι επιθυμητή η δυνατότητα συγχώνευσης ροών χωρίς τη βοήθεια χρήστη. Το σημείο επέκτασης org.eclipse.compare.streamMergers σας επιτρέπει να συνεισφέρετε μια κλάση η οποία εκτελεί τη συγχώνευση τριών διαφορετικών ροών εισόδου σε μια μοναδική ροή εξόδου. Οι συγχωνεύσεις ροών μπορούν να συσχετιστούν με επεκτάσεις αρχείου ή να αντιστοιχιστούν σε ένα συγκεκριμένο είδος περιεχομένου. Η πρόσθετη λειτουργία αναζήτησης ορίζει μια συγχώνευση ροών για τη συγχώνευση τριών ροών απλού κειμένου:
<extension point="org.eclipse.compare.streamMergers"> <streamMerger extensions="txt" class="org.eclipse.compare.internal.merge.TextStreamMerger" id="org.eclipse.compare.internal.merge.TextStreamMerger"> </streamMerger> <contentTypeBinding contentTypeId="org.eclipse.core.runtime.text" streamMergerId="org.eclipse.compare.internal.merge.TextStreamMerger"> </contentTypeBinding> </extension>
Αυτή καθεαυτή η συγχώνευση ροών περιγράφεται στο στοιχείο streamMerger. Πρέπει να ορίσετε την ταυτότητα της συγχώνευσης και την κλάση που την υλοποιεί. Μπορείτε επίσης να προσδιορίσετε οποιεσδήποτε επεκτάσεις αρχείων για τις οποίες θα πρέπει να χρησιμοποιείται η συγχώνευση ροών.
Μπορείτε επίσης να χρησιμοποιήσετε το στοιχείο contentTypeBinding για να συσχετίσετε ένα είδος περιεχομένου με μια συγχώνευση ροών.
Οι συγχωνεύσεις ροών πρέπει να υλοποιούν τη IStreamMerger. Αυτή η απλή διεπαφή συγχωνεύει τα περιεχόμενα από τρεις διαφορετικές ροές εισόδου σε μια μοναδική ροή εξόδου. Η όχι και τόσο απλή υλοποίηση εξαρτάται από την πρόσθετη λειτουργία σας και τα είδη περιεχομένων της.
Μπορούν να δημιουργηθούν νέες IStreamMerger για καταχωρημένα είδη με τις μεθόδους createStreamMerger του CompareUI.