/*
* Copyright (C) 2011 Laurent Caillette
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation, either
* version 3 of the License, or (at your option) any later version.
*
* This program 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
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.novelang.novelist;
/**
* Represents a collection of {@link TextElement}s like {@link Sentence}s that form a continuous
* sequence of paragraphs.
* In the future this class will contain images or tables.
*
* @author Laurent Caillette
*/
public class Body implements TextElement {
private final Iterable< TextElement > textElements ;
public Body( final Iterable< TextElement > textElements ) {
this.textElements = textElements ;
}
@Override
public String getLiteral() {
final StringBuilder text = new StringBuilder() ;
for( final TextElement textElement : textElements ) {
text.append( textElement.getLiteral() ) ;
}
return text.toString() ;
}
public static final TextElement INTERSTICE = new TextElement() {
@Override
public String getLiteral() {
return "\n\n" ;
}
} ;
}