com.github.exerrk.engine.JRParagraph Maven / Gradle / Ivy
The newest version!
/*
* JasperReports - Free Java Reporting Library.
* Copyright (C) 2001 - 2016 TIBCO Software Inc. All rights reserved.
* http://www.jaspersoft.com
*
* Unless you have purchased a commercial license agreement from Jaspersoft,
* the following license terms apply:
*
* This program is part of JasperReports.
*
* JasperReports 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.
*
* JasperReports 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 Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with JasperReports. If not, see .
*/
package com.github.exerrk.engine;
import com.github.exerrk.annotations.properties.Property;
import com.github.exerrk.annotations.properties.PropertyScope;
import com.github.exerrk.engine.type.LineSpacingEnum;
import com.github.exerrk.properties.PropertyConstants;
/**
* @author Teodor Danciu ([email protected])
*/
public interface JRParagraph extends JRStyleContainer
{
/**
* Specifies the default value for the text line spacing size, if no explicit information is provided in a
* JR paragraph. This value is used in combination with the size-dependent line spacings in {@link LineSpacingEnum}:
*
* - AT_LEAST
* - FIXED
* - PROPORTIONAL
*
*
* @see com.github.exerrk.engine.export.AbstractTextRenderer#getLineHeight(boolean, JRParagraph, float, float)
*/
@Property(
category = PropertyConstants.CATEGORY_FILL,
defaultValue = "1",
scopes = {PropertyScope.CONTEXT},
sinceVersion = PropertyConstants.VERSION_4_0_2,
valueType = Integer.class
)
public static final String DEFAULT_LINE_SPACING_SIZE = JRPropertiesUtil.PROPERTY_PREFIX + "default.line.spacing.size";
/**
* Specifies the default value (in pixels) for the first line indent, if no explicit information is provided in a JR paragraph.
*
* By default the first line in JR paragraphs has no indentation.
*/
@Property(
category = PropertyConstants.CATEGORY_FILL,
defaultValue = "0",
scopes = {PropertyScope.CONTEXT},
sinceVersion = PropertyConstants.VERSION_4_0_2,
valueType = Integer.class
)
public static final String DEFAULT_FIRST_LINE_INDENT = JRPropertiesUtil.PROPERTY_PREFIX + "default.first.line.indent";
/**
* Specifies the default value (in pixels) for the left indent, if no explicit information is provided in a JR paragraph.
*
* By default JR paragraphs provide no left indentation.
*/
@Property(
category = PropertyConstants.CATEGORY_FILL,
defaultValue = "0",
scopes = {PropertyScope.CONTEXT},
sinceVersion = PropertyConstants.VERSION_4_0_2,
valueType = Integer.class
)
public static final String DEFAULT_LEFT_INDENT = JRPropertiesUtil.PROPERTY_PREFIX + "default.left.indent";
/**
* Specifies the default value (in pixels) for the right indent, if no explicit information is provided in a JR paragraph.
*
* By default JR paragraphs provide no right indentation.
*/
@Property(
category = PropertyConstants.CATEGORY_FILL,
defaultValue = "0",
scopes = {PropertyScope.CONTEXT},
sinceVersion = PropertyConstants.VERSION_4_0_2,
valueType = Integer.class
)
public static final String DEFAULT_RIGHT_INDENT = JRPropertiesUtil.PROPERTY_PREFIX + "default.right.indent";
/**
* Specifies the default value (in pixels) for the spacing before lines, if no explicit information is provided in a JR paragraph.
*
* By default JR paragraphs provide no spacing before lines.
*/
@Property(
category = PropertyConstants.CATEGORY_FILL,
defaultValue = "0",
scopes = {PropertyScope.CONTEXT},
sinceVersion = PropertyConstants.VERSION_4_0_2,
valueType = Integer.class
)
public static final String DEFAULT_SPACING_BEFORE = JRPropertiesUtil.PROPERTY_PREFIX + "default.spacing.before";
/**
* Specifies the default value (in pixels) for the spacing after lines, if no explicit information is provided in a JR paragraph.
*
* By default JR paragraphs provide no spacing after lines.
*/
@Property(
category = PropertyConstants.CATEGORY_FILL,
defaultValue = "0",
scopes = {PropertyScope.CONTEXT},
sinceVersion = PropertyConstants.VERSION_4_0_2,
valueType = Integer.class
)
public static final String DEFAULT_SPACING_AFTER = JRPropertiesUtil.PROPERTY_PREFIX + "default.spacing.after";
/**
* Specifies the default value (in pixels) for the tab stop width, if no explicit information is provided in a paragraph.
*
* By default JR paragraphs provide 40 pixels wide tab stops.
*/
@Property(
category = PropertyConstants.CATEGORY_FILL,
defaultValue = "40",
scopes = {PropertyScope.CONTEXT},
sinceVersion = PropertyConstants.VERSION_4_0_2,
valueType = Integer.class
)
public static final String DEFAULT_TAB_STOP_WIDTH = JRPropertiesUtil.PROPERTY_PREFIX + "default.tab.stop.width";
/**
* Gets the text line spacing.
* @return a value representing one of the line spacing constants in {@link LineSpacingEnum}
*/
public JRParagraphContainer getParagraphContainer();
/**
*
*/
public JRParagraph clone(JRParagraphContainer paragraphContainer);
/**
* Gets the text line spacing.
* @return a value representing one of the line spacing constants in {@link LineSpacingEnum}
*/
public LineSpacingEnum getLineSpacing();
/**
* Gets the text own line spacing.
* @return a value representing one of the line spacing constants in {@link LineSpacingEnum}
*/
public LineSpacingEnum getOwnLineSpacing();
/**
* Sets the text line spacing.
* @param lineSpacing a value representing one of the line spacing constants in {@link LineSpacingEnum}
*/
public void setLineSpacing(LineSpacingEnum lineSpacing);
/**
* Gets the text line spacing size to be used in combination with the line spacing type.
*/
public Float getLineSpacingSize();
/**
* Gets the text own line spacing size to be used in combination with the line spacing type.
*/
public Float getOwnLineSpacingSize();
/**
* Sets the text line spacing size to be used in combination with the line spacing type.
*/
public void setLineSpacingSize(Float lineSpacingSize);
/**
* Gets the text left indent.
*/
public Integer getLeftIndent();
/**
* Gets the text own left indent.
*/
public Integer getOwnLeftIndent();
/**
* Sets the text own left indent.
*/
public void setLeftIndent(Integer leftIndent);
/**
* Gets the text first line indent.
*/
public Integer getFirstLineIndent();
/**
* Gets the text own first line indent.
*/
public Integer getOwnFirstLineIndent();
/**
* Sets the text own first line indent.
*/
public void setFirstLineIndent(Integer firstLineIndent);
/**
* Gets the text right indent.
*/
public Integer getRightIndent();
/**
* Gets the text own right indent.
*/
public Integer getOwnRightIndent();
/**
* Sets the text own right indent.
*/
public void setRightIndent(Integer rightIndent);
/**
* Gets the text spacing before.
*/
public Integer getSpacingBefore();
/**
* Gets the text own spacing before.
*/
public Integer getOwnSpacingBefore();
/**
* Sets the text own spacing before.
*/
public void setSpacingBefore(Integer spacingBefore);
/**
* Gets the text spacing after.
*/
public Integer getSpacingAfter();
/**
* Gets the text own spacing after.
*/
public Integer getOwnSpacingAfter();
/**
* Sets the text own spacing after.
*/
public void setSpacingAfter(Integer spacingAfter);
/**
* Gets the text tab stop width.
*/
public Integer getTabStopWidth();
/**
* Gets the text own tab stop width.
*/
public Integer getOwnTabStopWidth();
/**
* Sets the text own tab stop width.
*/
public void setTabStopWidth(Integer tabStopWidth);
/**
* Gets the custom tab stops.
*/
public TabStop[] getTabStops();
/**
* Gets the custom tab stops.
*/
public TabStop[] getOwnTabStops();
/**
*
*/
public void addTabStop(TabStop tabStop);
/**
*
*/
public void addTabStop(int index, TabStop tabStop);
/**
*
*/
public void removeTabStop(int index);
/**
*
*/
public void removeTabStop(TabStop tabStop);
}