Package sortpom.wrapper

Source Code of sortpom.wrapper.TextWrapperCreator

package sortpom.wrapper;

import org.jdom.Content;
import org.jdom.Text;
import sortpom.jdomcontent.NewlineText;
import sortpom.parameter.PluginParameters;
import sortpom.wrapper.content.ThrowAwayContentWrapper;
import sortpom.wrapper.content.UnsortedWrapper;
import sortpom.wrapper.content.Wrapper;

/**
* @author bjorn
* @since 2012-05-19
*/
public class TextWrapperCreator {
    private boolean keepBlankLines;

    public TextWrapperCreator() {
    }

    public void setup(PluginParameters pluginParameters) {
        keepBlankLines = pluginParameters.keepBlankLines;
    }

    public Wrapper<? extends Content> createWrapper(Text text) {
        if (isSingleNewLine(text)) {
            return ThrowAwayContentWrapper.INSTANCE;
        } else if (isBlankLineOrLines(text)) {
            return new UnsortedWrapper<Content>(new NewlineText());
        }
        return new UnsortedWrapper<Text>(text);
    }

    private boolean isSingleNewLine(Text content) {
        return content.getText().matches("[\\t ]*[\\r]?[\\n]?[\\t ]*");
    }

    boolean isBlankLineOrLines(Text content) {
        if (!keepBlankLines) {
            return false;
        }
        return content.getText().matches("^\\s*?(\\r|\\n)\\s*$");
    }
}
TOP

Related Classes of sortpom.wrapper.TextWrapperCreator

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.