All Downloads are FREE. Search and download functionalities are using the official Maven repository.

difflib.StringUtills Maven / Gradle / Ivy

Go to download

The DiffUtils library for computing diffs, applying patches, generationg side-by-side view in Java

There is a newer version: 1.3.0
Show newest version
package difflib;

import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

public class StringUtills {
    
    public static  String join(final Iterable objs, final String delimiter) {
        Iterator iter = objs.iterator();
        if (!iter.hasNext()) {
            return "";
        }
        StringBuffer buffer = new StringBuffer(String.valueOf(iter.next()));
        while (iter.hasNext()) {
            buffer.append(delimiter).append(String.valueOf(iter.next()));
        }
        return buffer.toString();
    }
    
    public static String expandTabs(String str) {
        return str.replace("\t", "    ");
    }
    
    public static String htmlEntites(String str) {
        return str.replace("<", "<").replace(">", ">");
    }
    
    public static String normalize(String str) {
        return expandTabs(htmlEntites(str));
    }
    
    public static List normalize(List list) {
        List result = new LinkedList();
        for (String line : list) {
            result.add(normalize(line));
        }
        return result;
    }
    
    public static List wrapText(List list, int columnWidth) {
        List result = new LinkedList();
        for (String line : list) {
            result.add(wrapText(line, columnWidth));
        }
        return result;
    }
    
    /**
     * Wrap the text with the given column width 
     * @param line the text
     * @param columnWidth the given column
     * @return the wrapped text
     */
    public static String wrapText(String line, int columnWidth) {
        int lenght = line.length();
        int delimiter = "
".length(); int widthIndex = columnWidth; for (int count = 0; lenght > widthIndex; count++) { line = line.subSequence(0, widthIndex + delimiter * count) + "
" + line.substring(widthIndex + delimiter * count); widthIndex += columnWidth; } return line; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy