/******************************************************************************* * Copyright Technophobia Ltd 2012 * * This file is part of the Substeps Eclipse Plugin. * * The Substeps Eclipse Plugin is free software: you can redistribute it and/or modify * it under the terms of the Eclipse Public License v1.0. * * The Substeps Eclipse Plugin is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * Eclipse Public License for more details. * * You should have received a copy of the Eclipse Public License * along with the Substeps Eclipse Plugin. If not, see <http://www.eclipse.org/legal/epl-v10.html>. ******************************************************************************/ package com.technophobia.substeps.document.formatting.strategy; import org.eclipse.jface.text.formatter.IFormattingStrategy; /** * Null Object pattern for {@link IFormattingStrategy} interface * * @author sforbes * */ public class NullFormattingStrategy implements IFormattingStrategy { protected static final String NEWLINE = System.getProperty("line.separator"); public NullFormattingStrategy() { super(); } @Override public void formatterStarts(final String initialIndentation) { // no-op } @Override public void formatterStops() { // no-op } @Override public String format(final String content, final boolean isLineStart, final String indentation, final int[] positions) { return ""; /* * final StringBuffer sb = new StringBuffer(content.replaceAll(" ", * "").replaceAll("\t", "")); int numNewLines = 0; * * for (int i = sb.length() - 1; i >= 0 && isNewline(sb, i); i -= * NEWLINE.length()) { if (numNewLines >= 2) { sb.deleteCharAt(i); } * else { numNewLines++; } } * * return sb.toString(); */ } private boolean isNewline(final StringBuffer sb, final int endPos) { return sb.substring(endPos - (NEWLINE.length() - 1), endPos + 1).equals(NEWLINE); } }