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

net.sf.dynamicreports.jasper.transformation.ConstantTransform Maven / Gradle / Ivy

Go to download

DynamicReports is an open source Java reporting library based on JasperReports. It allows to create dynamic report designs and it doesn't need a visual report designer. You can very quickly create reports and produce documents that can be displayed, printed or exported into many popular formats such as PDF, Excel, Word and others.

There is a newer version: 6.20.1
Show newest version
/**
 * DynamicReports - Free Java reporting library for creating reports dynamically
 *
 * Copyright (C) 2010 - 2016 Ricardo Mariaca
 * http://www.dynamicreports.org
 *
 * This file is part of DynamicReports.
 *
 * DynamicReports 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.
 *
 * DynamicReports 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 DynamicReports. If not, see .
 */

package net.sf.dynamicreports.jasper.transformation;

import java.util.List;

import org.apache.commons.lang3.EnumUtils;
import org.jfree.data.time.Day;
import org.jfree.data.time.Hour;
import org.jfree.data.time.Millisecond;
import org.jfree.data.time.Minute;
import org.jfree.data.time.Month;
import org.jfree.data.time.Quarter;
import org.jfree.data.time.Second;
import org.jfree.data.time.Week;
import org.jfree.data.time.Year;
import org.krysalis.barcode4j.BaselineAlignment;
import org.krysalis.barcode4j.ChecksumMode;
import org.krysalis.barcode4j.impl.datamatrix.SymbolShapeHint;

import com.lowagie.text.pdf.PdfWriter;

import net.sf.dynamicreports.design.constant.EvaluationTime;
import net.sf.dynamicreports.design.constant.ResetType;
import net.sf.dynamicreports.jasper.constant.PdfPermission;
import net.sf.dynamicreports.jasper.constant.PdfVersion;
import net.sf.dynamicreports.jasper.constant.SizeUnit;
import net.sf.dynamicreports.jasper.exception.JasperDesignException;
import net.sf.dynamicreports.report.constant.AxisPosition;
import net.sf.dynamicreports.report.constant.BarbecueType;
import net.sf.dynamicreports.report.constant.BarcodeBaselinePosition;
import net.sf.dynamicreports.report.constant.BarcodeChecksumMode;
import net.sf.dynamicreports.report.constant.BarcodeOrientation;
import net.sf.dynamicreports.report.constant.BarcodeShape;
import net.sf.dynamicreports.report.constant.BarcodeTextPosition;
import net.sf.dynamicreports.report.constant.BreakType;
import net.sf.dynamicreports.report.constant.Calculation;
import net.sf.dynamicreports.report.constant.ChartType;
import net.sf.dynamicreports.report.constant.ComponentPositionType;
import net.sf.dynamicreports.report.constant.CrosstabPercentageType;
import net.sf.dynamicreports.report.constant.CrosstabTotalPosition;
import net.sf.dynamicreports.report.constant.GroupFooterPosition;
import net.sf.dynamicreports.report.constant.HorizontalImageAlignment;
import net.sf.dynamicreports.report.constant.HorizontalTextAlignment;
import net.sf.dynamicreports.report.constant.HyperLinkTarget;
import net.sf.dynamicreports.report.constant.HyperLinkType;
import net.sf.dynamicreports.report.constant.ImageAnchorType;
import net.sf.dynamicreports.report.constant.ImageScale;
import net.sf.dynamicreports.report.constant.LineDirection;
import net.sf.dynamicreports.report.constant.LineSpacing;
import net.sf.dynamicreports.report.constant.LineStyle;
import net.sf.dynamicreports.report.constant.Markup;
import net.sf.dynamicreports.report.constant.MeterShape;
import net.sf.dynamicreports.report.constant.OrderType;
import net.sf.dynamicreports.report.constant.Orientation;
import net.sf.dynamicreports.report.constant.PageOrientation;
import net.sf.dynamicreports.report.constant.PdfPrintScaling;
import net.sf.dynamicreports.report.constant.PdfaConformance;
import net.sf.dynamicreports.report.constant.Position;
import net.sf.dynamicreports.report.constant.QrCodeErrorCorrectionLevel;
import net.sf.dynamicreports.report.constant.RectangleAnchor;
import net.sf.dynamicreports.report.constant.Rotation;
import net.sf.dynamicreports.report.constant.RunDirection;
import net.sf.dynamicreports.report.constant.ScaleType;
import net.sf.dynamicreports.report.constant.SpiderRotation;
import net.sf.dynamicreports.report.constant.SplitType;
import net.sf.dynamicreports.report.constant.StretchType;
import net.sf.dynamicreports.report.constant.TabStopAlignment;
import net.sf.dynamicreports.report.constant.TableOrder;
import net.sf.dynamicreports.report.constant.TimePeriod;
import net.sf.dynamicreports.report.constant.ValueLocation;
import net.sf.dynamicreports.report.constant.VerticalImageAlignment;
import net.sf.dynamicreports.report.constant.VerticalTextAlignment;
import net.sf.dynamicreports.report.constant.WhenNoDataType;
import net.sf.dynamicreports.report.constant.WhenResourceMissingType;
import net.sf.jasperreports.charts.type.AxisPositionEnum;
import net.sf.jasperreports.charts.type.EdgeEnum;
import net.sf.jasperreports.charts.type.MeterShapeEnum;
import net.sf.jasperreports.charts.type.PlotOrientationEnum;
import net.sf.jasperreports.charts.type.ScaleTypeEnum;
import net.sf.jasperreports.charts.type.ValueLocationEnum;
import net.sf.jasperreports.components.barcode4j.ErrorCorrectionLevelEnum;
import net.sf.jasperreports.components.barcode4j.TextPositionEnum;
import net.sf.jasperreports.components.spiderchart.type.SpiderRotationEnum;
import net.sf.jasperreports.components.spiderchart.type.TableOrderEnum;
import net.sf.jasperreports.crosstabs.type.CrosstabPercentageEnum;
import net.sf.jasperreports.crosstabs.type.CrosstabTotalPositionEnum;
import net.sf.jasperreports.engine.analytics.dataset.BucketOrder;
import net.sf.jasperreports.engine.design.JRDesignChart;
import net.sf.jasperreports.engine.export.type.ImageAnchorTypeEnum;
import net.sf.jasperreports.engine.type.BreakTypeEnum;
import net.sf.jasperreports.engine.type.CalculationEnum;
import net.sf.jasperreports.engine.type.EvaluationTimeEnum;
import net.sf.jasperreports.engine.type.FooterPositionEnum;
import net.sf.jasperreports.engine.type.HorizontalImageAlignEnum;
import net.sf.jasperreports.engine.type.HorizontalTextAlignEnum;
import net.sf.jasperreports.engine.type.HyperlinkTargetEnum;
import net.sf.jasperreports.engine.type.HyperlinkTypeEnum;
import net.sf.jasperreports.engine.type.LineDirectionEnum;
import net.sf.jasperreports.engine.type.LineSpacingEnum;
import net.sf.jasperreports.engine.type.LineStyleEnum;
import net.sf.jasperreports.engine.type.OrientationEnum;
import net.sf.jasperreports.engine.type.PositionTypeEnum;
import net.sf.jasperreports.engine.type.PrintOrderEnum;
import net.sf.jasperreports.engine.type.ResetTypeEnum;
import net.sf.jasperreports.engine.type.RotationEnum;
import net.sf.jasperreports.engine.type.RunDirectionEnum;
import net.sf.jasperreports.engine.type.ScaleImageEnum;
import net.sf.jasperreports.engine.type.SortOrderEnum;
import net.sf.jasperreports.engine.type.SplitTypeEnum;
import net.sf.jasperreports.engine.type.StretchTypeEnum;
import net.sf.jasperreports.engine.type.TabStopAlignEnum;
import net.sf.jasperreports.engine.type.VerticalImageAlignEnum;
import net.sf.jasperreports.engine.type.VerticalTextAlignEnum;
import net.sf.jasperreports.engine.type.WhenNoDataTypeEnum;
import net.sf.jasperreports.engine.type.WhenResourceMissingTypeEnum;
import net.sf.jasperreports.export.type.HtmlSizeUnitEnum;
import net.sf.jasperreports.export.type.PdfPrintScalingEnum;
import net.sf.jasperreports.export.type.PdfVersionEnum;
import net.sf.jasperreports.export.type.PdfaConformanceEnum;

/**
 * @author Ricardo Mariaca ([email protected])
 */
public class ConstantTransform {

	protected static LineStyleEnum lineStyle(LineStyle lineStyle) {
		if (lineStyle == null) {
			return null;
		}

		switch (lineStyle) {
		case SOLID:
			return LineStyleEnum.SOLID;
		case DASHED:
			return LineStyleEnum.DASHED;
		case DOTTED:
			return LineStyleEnum.DOTTED;
		case DOUBLE:
			return LineStyleEnum.DOUBLE;
		default:
			throw new JasperDesignException("Line style " + lineStyle.name() + " not supported");
		}
	}

	@SuppressWarnings("deprecation")
	protected static ScaleImageEnum imageScale(ImageScale imageScale) {
		if (imageScale == null) {
			return null;
		}

		switch (imageScale) {
		case CLIP:
		case NO_RESIZE:
			return ScaleImageEnum.CLIP;
		case FILL_FRAME:
		case FILL:
			return ScaleImageEnum.FILL_FRAME;
		case RETAIN_SHAPE:
		case FILL_PROPORTIONALLY:
			return ScaleImageEnum.RETAIN_SHAPE;
		case REAL_HEIGHT:
			return ScaleImageEnum.REAL_HEIGHT;
		case REAL_SIZE:
			return ScaleImageEnum.REAL_SIZE;
		default:
			throw new JasperDesignException("Image scale " + imageScale.name() + " not supported");
		}
	}

	protected static ImageAnchorTypeEnum imageAnchorType(ImageAnchorType imageAnchorType) {
		if (imageAnchorType == null) {
			return null;
		}

		switch (imageAnchorType) {
		case MOVE_SIZE:
			return ImageAnchorTypeEnum.MOVE_SIZE;
		case MOVE_NO_SIZE:
			return ImageAnchorTypeEnum.MOVE_NO_SIZE;
		case NO_MOVE_NO_SIZE:
			return ImageAnchorTypeEnum.NO_MOVE_NO_SIZE;
		default:
			throw new JasperDesignException("Image anchor type " + imageAnchorType.name() + " not supported");
		}
	}

	protected static HorizontalTextAlignEnum horizontalTextAlignment(HorizontalTextAlignment horizontalTextAlignment) {
		if (horizontalTextAlignment == null) {
			return null;
		}

		switch (horizontalTextAlignment) {
		case LEFT:
			return HorizontalTextAlignEnum.LEFT;
		case CENTER:
			return HorizontalTextAlignEnum.CENTER;
		case RIGHT:
			return HorizontalTextAlignEnum.RIGHT;
		case JUSTIFIED:
			return HorizontalTextAlignEnum.JUSTIFIED;
		default:
			throw new JasperDesignException("Horizontal text alignment " + horizontalTextAlignment.name() + " not supported");
		}
	}

	protected static VerticalTextAlignEnum verticalTextAlignment(VerticalTextAlignment verticalTextAlignment) {
		if (verticalTextAlignment == null) {
			return null;
		}

		switch (verticalTextAlignment) {
		case TOP:
			return VerticalTextAlignEnum.TOP;
		case MIDDLE:
			return VerticalTextAlignEnum.MIDDLE;
		case BOTTOM:
			return VerticalTextAlignEnum.BOTTOM;
		case JUSTIFIED:
			return VerticalTextAlignEnum.JUSTIFIED;
		default:
			throw new JasperDesignException("Vertical text alignment " + verticalTextAlignment.name() + " not supported");
		}
	}

	protected static HorizontalImageAlignEnum horizontalImageAlignment(HorizontalImageAlignment horizontalImageAlignment) {
		if (horizontalImageAlignment == null) {
			return null;
		}

		switch (horizontalImageAlignment) {
		case LEFT:
			return HorizontalImageAlignEnum.LEFT;
		case CENTER:
			return HorizontalImageAlignEnum.CENTER;
		case RIGHT:
			return HorizontalImageAlignEnum.RIGHT;
		default:
			throw new JasperDesignException("Horizontal image alignment " + horizontalImageAlignment.name() + " not supported");
		}
	}

	protected static VerticalImageAlignEnum verticalImageAlignment(VerticalImageAlignment verticalImageAlignment) {
		if (verticalImageAlignment == null) {
			return null;
		}

		switch (verticalImageAlignment) {
		case TOP:
			return VerticalImageAlignEnum.TOP;
		case MIDDLE:
			return VerticalImageAlignEnum.MIDDLE;
		case BOTTOM:
			return VerticalImageAlignEnum.BOTTOM;
		default:
			throw new JasperDesignException("Vertical image alignment " + verticalImageAlignment.name() + " not supported");
		}
	}

	protected static RotationEnum rotation(Rotation rotation) {
		if (rotation == null) {
			return null;
		}

		switch (rotation) {
		case NONE:
			return RotationEnum.NONE;
		case LEFT:
			return RotationEnum.LEFT;
		case RIGHT:
			return RotationEnum.RIGHT;
		case UPSIDE_DOWN:
			return RotationEnum.UPSIDE_DOWN;
		default:
			throw new JasperDesignException("Rotation " + rotation.name() + " not supported");
		}
	}

	protected static Byte chartType(ChartType chartType) {
		switch (chartType) {
		case AREA:
			return JRDesignChart.CHART_TYPE_AREA;
		case STACKEDAREA:
			return JRDesignChart.CHART_TYPE_STACKEDAREA;
		case BAR:
		case LAYEREDBAR:
		case WATERFALLBAR:
			return JRDesignChart.CHART_TYPE_BAR;
		case BAR3D:
			return JRDesignChart.CHART_TYPE_BAR3D;
		case STACKEDBAR:
		case GROUPEDSTACKEDBAR:
			return JRDesignChart.CHART_TYPE_STACKEDBAR;
		case STACKEDBAR3D:
			return JRDesignChart.CHART_TYPE_STACKEDBAR3D;
		case LINE:
			return JRDesignChart.CHART_TYPE_LINE;
		case PIE:
			return JRDesignChart.CHART_TYPE_PIE;
		case PIE3D:
			return JRDesignChart.CHART_TYPE_PIE3D;
		case TIMESERIES:
		case DIFFERENCE:
			return JRDesignChart.CHART_TYPE_TIMESERIES;
		case XYAREA:
			return JRDesignChart.CHART_TYPE_XYAREA;
		case XYBAR:
			return JRDesignChart.CHART_TYPE_XYBAR;
		case XYLINE:
		case XYSTEP:
			return JRDesignChart.CHART_TYPE_XYLINE;
		case SCATTER:
			return JRDesignChart.CHART_TYPE_SCATTER;
		case MULTI_AXIS:
			return JRDesignChart.CHART_TYPE_MULTI_AXIS;
		case XYBLOCK:
		case BUBBLE:
			return JRDesignChart.CHART_TYPE_BUBBLE;
		case CANDLESTICK:
			return JRDesignChart.CHART_TYPE_CANDLESTICK;
		case HIGHLOW:
			return JRDesignChart.CHART_TYPE_HIGHLOW;
		case METER:
			return JRDesignChart.CHART_TYPE_METER;
		case THERMOMETER:
			return JRDesignChart.CHART_TYPE_THERMOMETER;
		case GANTT:
			return JRDesignChart.CHART_TYPE_GANTT;
		default:
			throw new JasperDesignException("Chart " + chartType.name() + " not supported");
		}
	}

	protected static WhenNoDataTypeEnum whenNoDataType(WhenNoDataType whenNoDataType) {
		switch (whenNoDataType) {
		case NO_PAGES:
			return WhenNoDataTypeEnum.NO_PAGES;
		case BLANK_PAGE:
			return WhenNoDataTypeEnum.BLANK_PAGE;
		case ALL_SECTIONS_NO_DETAIL:
			return WhenNoDataTypeEnum.ALL_SECTIONS_NO_DETAIL;
		case NO_DATA_SECTION:
			return WhenNoDataTypeEnum.NO_DATA_SECTION;
		default:
			throw new JasperDesignException("When no data type " + whenNoDataType.name() + " not supported");
		}
	}

	public static WhenNoDataType whenNoDataType(WhenNoDataTypeEnum whenNoDataType) {
		if (whenNoDataType == null) {
			return null;
		}
		switch (whenNoDataType) {
		case NO_PAGES:
			return WhenNoDataType.NO_PAGES;
		case BLANK_PAGE:
			return WhenNoDataType.BLANK_PAGE;
		case ALL_SECTIONS_NO_DETAIL:
			return WhenNoDataType.ALL_SECTIONS_NO_DETAIL;
		case NO_DATA_SECTION:
			return WhenNoDataType.NO_DATA_SECTION;
		default:
			throw new JasperDesignException("When no data type " + whenNoDataType.name() + " not supported");
		}
	}

	protected static WhenResourceMissingTypeEnum whenResourceMissingType(WhenResourceMissingType whenResourceMissingType) {
		switch (whenResourceMissingType) {
		case NULL:
			return WhenResourceMissingTypeEnum.NULL;
		case EMPTY:
			return WhenResourceMissingTypeEnum.EMPTY;
		case KEY:
			return WhenResourceMissingTypeEnum.KEY;
		case ERROR:
			return WhenResourceMissingTypeEnum.ERROR;
		default:
			throw new JasperDesignException("When resource missing type " + whenResourceMissingType.name() + " not supported");
		}
	}

	public static WhenResourceMissingType whenResourceMissingType(WhenResourceMissingTypeEnum whenResourceMissingType) {
		switch (whenResourceMissingType) {
		case NULL:
			return WhenResourceMissingType.NULL;
		case EMPTY:
			return WhenResourceMissingType.EMPTY;
		case KEY:
			return WhenResourceMissingType.KEY;
		case ERROR:
			return WhenResourceMissingType.ERROR;
		default:
			throw new JasperDesignException("When resource missing type " + whenResourceMissingType.name() + " not supported");
		}
	}

	protected static OrientationEnum pageOrientation(PageOrientation orientation) {
		switch (orientation) {
		case PORTRAIT:
			return OrientationEnum.PORTRAIT;
		case LANDSCAPE:
			return OrientationEnum.LANDSCAPE;
		default:
			throw new JasperDesignException("Page orientation " + orientation.name() + " not supported");
		}
	}

	public static PageOrientation pageOrientation(OrientationEnum orientation) {
		switch (orientation) {
		case PORTRAIT:
			return PageOrientation.PORTRAIT;
		case LANDSCAPE:
			return PageOrientation.LANDSCAPE;
		default:
			throw new JasperDesignException("Page orientation " + orientation.name() + " not supported");
		}
	}

	public static ResetTypeEnum variableResetType(ResetType resetType) {
		if (resetType == null) {
			return ResetTypeEnum.NONE;
		}

		switch (resetType) {
		case NONE:
			return ResetTypeEnum.NONE;
		case REPORT:
			return ResetTypeEnum.REPORT;
		case PAGE:
			return ResetTypeEnum.PAGE;
		case COLUMN:
			return ResetTypeEnum.COLUMN;
		case GROUP:
			return ResetTypeEnum.GROUP;
		default:
			throw new JasperDesignException("Variable reset type " + resetType.name() + " not supported");
		}
	}

	public static EvaluationTimeEnum evaluationTime(EvaluationTime evaluationTime) {
		if (evaluationTime == null) {
			return EvaluationTimeEnum.NOW;
		}

		switch (evaluationTime) {
		case NOW:
			return EvaluationTimeEnum.NOW;
		case REPORT:
			return EvaluationTimeEnum.REPORT;
		case PAGE:
			return EvaluationTimeEnum.PAGE;
		case COLUMN:
			return EvaluationTimeEnum.COLUMN;
		case GROUP:
			return EvaluationTimeEnum.GROUP;
		case BAND:
			return EvaluationTimeEnum.BAND;
		case AUTO:
			return EvaluationTimeEnum.AUTO;
		default:
			throw new JasperDesignException("Evaluation time " + evaluationTime.name() + " not supported");
		}
	}

	protected static SplitTypeEnum splitType(SplitType splitType) {
		if (splitType == null) {
			return null;
		}
		switch (splitType) {
		case IMMEDIATE:
			return SplitTypeEnum.IMMEDIATE;
		case PREVENT:
			return SplitTypeEnum.PREVENT;
		case STRETCH:
			return SplitTypeEnum.STRETCH;
		default:
			throw new JasperDesignException("Split type " + splitType.name() + " not supported");
		}
	}

	protected static Class timePeriodType(TimePeriod timePeriodType) {
		switch (timePeriodType) {
		case YEAR:
			return Year.class;
		case QUARTER:
			return Quarter.class;
		case MONTH:
			return Month.class;
		case WEEK:
			return Week.class;
		case DAY:
			return Day.class;
		case HOUR:
			return Hour.class;
		case MINUTE:
			return Minute.class;
		case SECOND:
			return Second.class;
		case MILLISECOND:
			return Millisecond.class;
		default:
			throw new JasperDesignException("Time period type " + timePeriodType.name() + " not supported");
		}
	}

	protected static PlotOrientationEnum chartPlotOrientation(Orientation orientation) {
		switch (orientation) {
		case HORIZONTAL:
			return PlotOrientationEnum.HORIZONTAL;
		case VERTICAL:
			return PlotOrientationEnum.VERTICAL;
		default:
			throw new JasperDesignException("Chart plot orientation " + orientation.name() + " not supported");
		}
	}

	protected static EdgeEnum chartPosition(Position position) {
		if (position == null) {
			return null;
		}

		switch (position) {
		case TOP:
			return EdgeEnum.TOP;
		case BOTTOM:
			return EdgeEnum.BOTTOM;
		case LEFT:
			return EdgeEnum.LEFT;
		case RIGHT:
			return EdgeEnum.RIGHT;
		default:
			throw new JasperDesignException("Position " + position.name() + " not supported");
		}
	}

	protected static AxisPositionEnum chartAxisPosition(AxisPosition axisPosition) {
		if (axisPosition == null) {
			return null;
		}

		switch (axisPosition) {
		case LEFT_OR_TOP:
			return AxisPositionEnum.LEFT_OR_TOP;
		case RIGHT_OR_BOTTOM:
			return AxisPositionEnum.RIGHT_OR_BOTTOM;
		default:
			throw new JasperDesignException("AxisPosition " + axisPosition.name() + " not supported");
		}
	}

	protected static MeterShapeEnum meterShape(MeterShape meterShape) {
		if (meterShape == null) {
			return null;
		}

		switch (meterShape) {
		case CHORD:
			return MeterShapeEnum.CHORD;
		case CIRCLE:
			return MeterShapeEnum.CIRCLE;
		case PIE:
			return MeterShapeEnum.PIE;
		case DIAL:
			return MeterShapeEnum.DIAL;
		default:
			throw new JasperDesignException("MeterShape " + meterShape.name() + " not supported");
		}
	}

	protected static ValueLocationEnum valueLocation(ValueLocation valueLocation) {
		if (valueLocation == null) {
			return null;
		}

		switch (valueLocation) {
		case NONE:
			return ValueLocationEnum.NONE;
		case LEFT:
			return ValueLocationEnum.LEFT;
		case RIGHT:
			return ValueLocationEnum.RIGHT;
		case BULB:
			return ValueLocationEnum.BULB;
		default:
			throw new JasperDesignException("ValueLocation " + valueLocation.name() + " not supported");
		}
	}

	protected static CalculationEnum calculation(Calculation calculation) {
		switch (calculation) {
		case NOTHING:
			return CalculationEnum.NOTHING;
		case COUNT:
			return CalculationEnum.COUNT;
		case SUM:
			return CalculationEnum.SUM;
		case AVERAGE:
			return CalculationEnum.AVERAGE;
		case LOWEST:
			return CalculationEnum.LOWEST;
		case HIGHEST:
			return CalculationEnum.HIGHEST;
		case STANDARD_DEVIATION:
			return CalculationEnum.STANDARD_DEVIATION;
		case VARIANCE:
			return CalculationEnum.VARIANCE;
		case FIRST:
			return CalculationEnum.FIRST;
		case DISTINCT_COUNT:
			return CalculationEnum.DISTINCT_COUNT;
		default:
			throw new JasperDesignException("Calculation " + calculation.name() + " not supported");
		}
	}

	protected static HtmlSizeUnitEnum sizeUnit(SizeUnit sizeUnit) {
		switch (sizeUnit) {
		case PIXEL:
			return HtmlSizeUnitEnum.PIXEL;
		case POINT:
			return HtmlSizeUnitEnum.POINT;
		default:
			throw new JasperDesignException("SizeUnit " + sizeUnit.name() + " not supported");
		}
	}

	protected static PdfVersionEnum pdfVersion(PdfVersion pdfVersion) {
		switch (pdfVersion) {
		case VERION_1_2:
			return PdfVersionEnum.VERSION_1_2;
		case VERION_1_3:
			return PdfVersionEnum.VERSION_1_3;
		case VERION_1_4:
			return PdfVersionEnum.VERSION_1_4;
		case VERION_1_5:
			return PdfVersionEnum.VERSION_1_5;
		case VERION_1_6:
			return PdfVersionEnum.VERSION_1_6;
		case VERION_1_7:
			return PdfVersionEnum.VERSION_1_7;
		default:
			throw new JasperDesignException("PdfVersion " + pdfVersion.name() + " not supported");
		}
	}

	protected static Integer pdfPermission(List permissions) {
		int permission = 0;
		for (PdfPermission pdfPermission : permissions) {
			switch (pdfPermission) {
			case PRINTING:
				return permission | PdfWriter.ALLOW_PRINTING;
			case MODIFY_CONTENTS:
				return permission | PdfWriter.ALLOW_MODIFY_CONTENTS;
			case COPY:
				return permission | PdfWriter.ALLOW_COPY;
			case MODIFY_ANNOTATIONS:
				return permission | PdfWriter.ALLOW_MODIFY_ANNOTATIONS;
			case FILL_IN:
				return permission | PdfWriter.ALLOW_FILL_IN;
			case SCREEN_READERS:
				return permission | PdfWriter.ALLOW_SCREENREADERS;
			case ASSEMBLY:
				return permission | PdfWriter.ALLOW_ASSEMBLY;
			case DEGRADED_PRINTING:
				return permission | PdfWriter.ALLOW_DEGRADED_PRINTING;
			default:
				throw new JasperDesignException("PdfPermission " + pdfPermission.name() + " not supported");
			}
		}
		return permission;
	}

	protected static PdfPrintScalingEnum pdfPrintScaling(PdfPrintScaling pdfPrintScaling) {
		switch (pdfPrintScaling) {
		case NONE:
			return PdfPrintScalingEnum.NONE;
		case DEFAULT:
			return PdfPrintScalingEnum.DEFAULT;
		default:
			throw new JasperDesignException("Pdf print scaling " + pdfPrintScaling.name() + " not supported");
		}
	}

	protected static PdfaConformanceEnum pdfaConformance(PdfaConformance pdfaConformance) {
		switch (pdfaConformance) {
		case NONE:
			return PdfaConformanceEnum.NONE;
		case PDFA_1A:
			return PdfaConformanceEnum.PDFA_1A;
		case PDFA_1B:
			return PdfaConformanceEnum.PDFA_1B;
		default:
			throw new JasperDesignException("Pdfa conformance " + pdfaConformance.name() + " not supported");
		}
	}

	public static net.sf.jasperreports.components.barcode4j.OrientationEnum barcodeOrientation(BarcodeOrientation orientation) {
		switch (orientation) {
		case NONE:
			return net.sf.jasperreports.components.barcode4j.OrientationEnum.UP;
		case LEFT:
			return net.sf.jasperreports.components.barcode4j.OrientationEnum.LEFT;
		case RIGHT:
			return net.sf.jasperreports.components.barcode4j.OrientationEnum.RIGHT;
		case UPSIDE_DOWN:
			return net.sf.jasperreports.components.barcode4j.OrientationEnum.DOWN;
		default:
			throw new JasperDesignException("BarcodeOrientation " + orientation.name() + " not supported");
		}
	}

	public static RotationEnum barbecueRotation(BarcodeOrientation orientation) {
		switch (orientation) {
		case NONE:
			return RotationEnum.NONE;
		case LEFT:
			return RotationEnum.LEFT;
		case RIGHT:
			return RotationEnum.RIGHT;
		case UPSIDE_DOWN:
			return RotationEnum.UPSIDE_DOWN;
		default:
			throw new JasperDesignException("BarcodeOrientation " + orientation.name() + " not supported");
		}
	}

	public static TextPositionEnum barcodeTextPosition(BarcodeTextPosition textPosition) {
		if (textPosition == null) {
			return null;
		}

		switch (textPosition) {
		case NONE:
			return TextPositionEnum.NONE;
		case BOTTOM:
			return TextPositionEnum.BOTTOM;
		case TOP:
			return TextPositionEnum.TOP;
		default:
			throw new JasperDesignException("BarcodeTextPosition " + textPosition.name() + " not supported");
		}
	}

	public static ChecksumMode barcodeChecksumMode(BarcodeChecksumMode checksumMode) {
		if (checksumMode == null) {
			return null;
		}

		switch (checksumMode) {
		case AUTO:
			return ChecksumMode.CP_AUTO;
		case IGNORE:
			return ChecksumMode.CP_IGNORE;
		case ADD:
			return ChecksumMode.CP_ADD;
		case CHECK:
			return ChecksumMode.CP_CHECK;
		default:
			throw new JasperDesignException("BarcodeChecksumMode " + checksumMode.name() + " not supported");
		}
	}

	public static SymbolShapeHint barcodeShape(BarcodeShape shape) {
		if (shape == null) {
			return null;
		}

		switch (shape) {
		case NONE:
			return SymbolShapeHint.FORCE_NONE;
		case SQUARE:
			return SymbolShapeHint.FORCE_SQUARE;
		case RECTANGLE:
			return SymbolShapeHint.FORCE_RECTANGLE;
		default:
			throw new JasperDesignException("BarcodeShape " + shape.name() + " not supported");
		}
	}

	public static BaselineAlignment barcodeBaselinePosition(BarcodeBaselinePosition baselinePosition) {
		if (baselinePosition == null) {
			return null;
		}

		switch (baselinePosition) {
		case TOP:
			return BaselineAlignment.ALIGN_TOP;
		case BOTTOM:
			return BaselineAlignment.ALIGN_BOTTOM;
		default:
			throw new JasperDesignException("BarcodeBaselinePosition " + baselinePosition.name() + " not supported");
		}
	}

	public static ErrorCorrectionLevelEnum qrCodeErrorCorrectionLevel(QrCodeErrorCorrectionLevel errorCorrectionLevel) {
		if (errorCorrectionLevel == null) {
			return null;
		}

		switch (errorCorrectionLevel) {
		case L:
			return ErrorCorrectionLevelEnum.L;
		case M:
			return ErrorCorrectionLevelEnum.M;
		case Q:
			return ErrorCorrectionLevelEnum.Q;
		case H:
			return ErrorCorrectionLevelEnum.H;
		default:
			throw new JasperDesignException("QrCodeErrorCorrectionLevel " + errorCorrectionLevel.name() + " not supported");
		}
	}

	public static String barbecueType(BarbecueType barbecueType) {
		if (barbecueType == null) {
			return null;
		}

		switch (barbecueType) {
		case BARCODE_2OF7:
			return "2of7";
		case BARCODE_3OF9:
			return "3of9";
		case BOOKLAND:
			return "Bookland";
		case CODABAR:
			return "Codabar";
		case CODE128:
			return "Code128";
		case CODE128A:
			return "Code128A";
		case CODE128B:
			return "Code128B";
		case CODE128C:
			return "Code128C";
		case CODE39:
			return "Code39";
		case CODE39_EXTENDED:
			return "Code39 (Extended)";
		case EAN128:
			return "EAN128";
		case EAN13:
			return "EAN13";
		case GLOBAL_TRADE_ITEM_NUMBER:
			return "GlobalTradeItemNumber";
		case INT_2OF5:
			return "Int2of5";
		case MONARCH:
			return "Monarch";
		case NW7:
			return "NW7";
		case PDF417:
			return "PDF417";
		case POSTNET:
			return "PostNet";
		case RANDOM_WEIGHT_UPCA:
			return "RandomWeightUPCA";
		case SCC14_SHIPPING_CODE:
			return "SCC14ShippingCode";
		case SHIPMENT_IDENTIFICATION_NUMBER:
			return "ShipmentIdentificationNumber";
		case SSCC18:
			return "SSCC18";
		case STD_2OF5:
			return "Std2of5";
		case UCC128:
			return "UCC128";
		case UPCA:
			return "UPCA";
		case USD3:
			return "USD3";
		case USD4:
			return "USD4";
		case USPS:
			return "USPS";
		default:
			throw new JasperDesignException("BarbecueType " + barbecueType.name() + " not supported");
		}
	}

	public static LineDirectionEnum lineDirection(LineDirection lineDirection) {
		if (lineDirection == null) {
			return null;
		}

		switch (lineDirection) {
		case TOP_DOWN:
			return LineDirectionEnum.TOP_DOWN;
		case BOTTOM_UP:
			return LineDirectionEnum.BOTTOM_UP;
		default:
			throw new JasperDesignException("LineDirection " + lineDirection.name() + " not supported");
		}
	}

	public static String markup(Markup markup) {
		if (markup == null) {
			return null;
		}

		switch (markup) {
		case NONE:
			return "none";
		case STYLED:
			return "styled";
		case RTF:
			return "rtf";
		case HTML:
			return "html";
		default:
			throw new JasperDesignException("Markup " + markup.name() + " not supported");
		}
	}

	public static LineSpacingEnum lineSpacing(LineSpacing lineSpacing) {
		if (lineSpacing == null) {
			return null;
		}

		switch (lineSpacing) {
		case SINGLE:
			return LineSpacingEnum.SINGLE;
		case ONE_AND_HALF:
			return LineSpacingEnum.ONE_AND_HALF;
		case DOUBLE:
			return LineSpacingEnum.DOUBLE;
		case AT_LEAST:
			return LineSpacingEnum.AT_LEAST;
		case FIXED:
			return LineSpacingEnum.FIXED;
		case PROPORTIONAL:
			return LineSpacingEnum.PROPORTIONAL;
		default:
			throw new JasperDesignException("LineSpacing " + lineSpacing.name() + " not supported");
		}
	}

	public static BreakTypeEnum breakType(BreakType breakType) {
		if (breakType == null) {
			return null;
		}

		switch (breakType) {
		case PAGE:
			return BreakTypeEnum.PAGE;
		case COLUMN:
			return BreakTypeEnum.COLUMN;
		default:
			throw new JasperDesignException("BreakType " + breakType.name() + " not supported");
		}
	}

	public static RunDirectionEnum runDirection(RunDirection runDirection) {
		if (runDirection == null) {
			return null;
		}

		switch (runDirection) {
		case LEFT_TO_RIGHT:
			return RunDirectionEnum.LTR;
		case RIGHT_TO_LEFT:
			return RunDirectionEnum.RTL;
		default:
			throw new JasperDesignException("RunDirection " + runDirection.name() + " not supported");
		}
	}

	public static CrosstabTotalPositionEnum crosstabTotalPosition(CrosstabTotalPosition totalPosition) {
		if (totalPosition == null) {
			return CrosstabTotalPositionEnum.NONE;
		}

		switch (totalPosition) {
		case START:
			return CrosstabTotalPositionEnum.START;
		case END:
			return CrosstabTotalPositionEnum.END;
		default:
			throw new JasperDesignException("CrosstabTotalPosition " + totalPosition.name() + " not supported");
		}
	}

	public static CrosstabPercentageEnum crosstabPercentageType(CrosstabPercentageType percentageType) {
		if (percentageType == null) {
			return null;
		}

		switch (percentageType) {
		case NONE:
			return CrosstabPercentageEnum.NONE;
		case GRAND_TOTAL:
			return CrosstabPercentageEnum.GRAND_TOTAL;
		default:
			throw new JasperDesignException("CrosstabPercentageType " + percentageType.name() + " not supported");
		}
	}

	public static SortOrderEnum orderType(OrderType orderType) {
		if (orderType == null) {
			return null;
		}

		switch (orderType) {
		case ASCENDING:
			return SortOrderEnum.ASCENDING;
		case DESCENDING:
			return SortOrderEnum.DESCENDING;
		default:
			throw new JasperDesignException("OrderType " + orderType.name() + " not supported");
		}
	}

	public static BucketOrder bucketOrderType(OrderType orderType) {
		if (orderType == null) {
			return null;
		}

		switch (orderType) {
		case ASCENDING:
			return BucketOrder.ASCENDING;
		case DESCENDING:
			return BucketOrder.DESCENDING;
		default:
			throw new JasperDesignException("OrderType " + orderType.name() + " not supported");
		}
	}

	public static PositionTypeEnum componentPositionType(ComponentPositionType componentPositionType) {
		switch (componentPositionType) {
		case FLOAT:
			return PositionTypeEnum.FLOAT;
		case FIX_RELATIVE_TO_TOP:
			return PositionTypeEnum.FIX_RELATIVE_TO_TOP;
		case FIX_RELATIVE_TO_BOTTOM:
			return PositionTypeEnum.FIX_RELATIVE_TO_BOTTOM;
		default:
			throw new JasperDesignException("ComponentPositionType " + componentPositionType.name() + " not supported");
		}
	}

	@SuppressWarnings("deprecation")
	public static StretchTypeEnum stretchType(StretchType stretchType) {
		if (stretchType == null) {
			return StretchTypeEnum.NO_STRETCH;
		}

		switch (stretchType) {
		case NO_STRETCH:
			return StretchTypeEnum.NO_STRETCH;
		case RELATIVE_TO_BAND_HEIGHT:
			return StretchTypeEnum.CONTAINER_HEIGHT;
		case RELATIVE_TO_TALLEST_OBJECT:
			return StretchTypeEnum.ELEMENT_GROUP_HEIGHT;
		case ELEMENT_GROUP_HEIGHT:
			return StretchTypeEnum.ELEMENT_GROUP_HEIGHT;
		case ELEMENT_GROUP_BOTTOM:
			return StretchTypeEnum.ELEMENT_GROUP_BOTTOM;
		case CONTAINER_HEIGHT:
			return StretchTypeEnum.CONTAINER_HEIGHT;
		case CONTAINER_BOTTOM:
			return StretchTypeEnum.CONTAINER_BOTTOM;
		default:
			throw new JasperDesignException("StretchType " + stretchType.name() + " not supported");
		}
	}

	public static HyperlinkTypeEnum hyperLinkType(String hyperLinkType) {
		if (hyperLinkType == null || !EnumUtils.isValidEnum(HyperLinkType.class, hyperLinkType)) {
			return null;
		}

		HyperLinkType type = HyperLinkType.valueOf(hyperLinkType);
		switch (type) {
		case NONE:
			return HyperlinkTypeEnum.NONE;
		case REFERENCE:
			return HyperlinkTypeEnum.REFERENCE;
		case LOCAL_ANCHOR:
			return HyperlinkTypeEnum.LOCAL_ANCHOR;
		case LOCAL_PAGE:
			return HyperlinkTypeEnum.LOCAL_PAGE;
		case REMOTE_ANCHOR:
			return HyperlinkTypeEnum.REMOTE_ANCHOR;
		case REMOTE_PAGE:
			return HyperlinkTypeEnum.REMOTE_PAGE;
		default:
			throw new JasperDesignException("HyperLinkType " + type.name() + " not supported");
		}
	}

	public static HyperlinkTargetEnum hyperLinkTarget(String hyperLinkTarget) {
		if (hyperLinkTarget == null || !EnumUtils.isValidEnum(HyperLinkTarget.class, hyperLinkTarget)) {
			return null;
		}

		HyperLinkTarget target = HyperLinkTarget.valueOf(hyperLinkTarget);
		switch (target) {
		case NONE:
			return HyperlinkTargetEnum.NONE;
		case SELF:
			return HyperlinkTargetEnum.SELF;
		case BLANK:
			return HyperlinkTargetEnum.BLANK;
		case PARENT:
			return HyperlinkTargetEnum.PARENT;
		case TOP:
			return HyperlinkTargetEnum.TOP;
		default:
			throw new JasperDesignException("HyperLinkTarget " + target.name() + " not supported");
		}
	}

	public static FooterPositionEnum groupFooterPosition(GroupFooterPosition footerPosition) {
		switch (footerPosition) {
		case NORMAL:
			return FooterPositionEnum.NORMAL;
		case COLLATE_AT_BOTTOM:
			return FooterPositionEnum.COLLATE_AT_BOTTOM;
		case FORCE_AT_BOTTOM:
			return FooterPositionEnum.FORCE_AT_BOTTOM;
		case STACK_AT_BOTTOM:
			return FooterPositionEnum.STACK_AT_BOTTOM;
		default:
			throw new JasperDesignException("GroupFooterPosition " + footerPosition.name() + " not supported");
		}
	}

	public static SpiderRotationEnum spiderRotation(SpiderRotation rotation) {
		if (rotation == null) {
			return null;
		}

		switch (rotation) {
		case CLOCKWISE:
			return SpiderRotationEnum.CLOCKWISE;
		case ANTICLOCKWISE:
			return SpiderRotationEnum.ANTICLOCKWISE;
		default:
			throw new JasperDesignException("SpiderRotation " + rotation.name() + " not supported");
		}
	}

	public static TableOrderEnum tableOrder(TableOrder tableOrder) {
		if (tableOrder == null) {
			return null;
		}

		switch (tableOrder) {
		case BY_ROW:
			return TableOrderEnum.BY_ROW;
		case BY_COLUMN:
			return TableOrderEnum.BY_COLUMN;
		default:
			throw new JasperDesignException("TableOrder " + tableOrder.name() + " not supported");
		}
	}

	public static TabStopAlignEnum tabStopAlignment(TabStopAlignment alignment) {
		switch (alignment) {
		case LEFT:
			return TabStopAlignEnum.LEFT;
		case CENTER:
			return TabStopAlignEnum.CENTER;
		case RIGHT:
			return TabStopAlignEnum.RIGHT;
		default:
			throw new JasperDesignException("TabStopAlignment " + alignment.name() + " not supported");
		}
	}

	protected static PrintOrderEnum printOrder(Orientation printOrder) {
		switch (printOrder) {
		case HORIZONTAL:
			return PrintOrderEnum.HORIZONTAL;
		case VERTICAL:
			return PrintOrderEnum.VERTICAL;
		default:
			throw new JasperDesignException("PrintOrder " + printOrder.name() + " not supported");
		}
	}

	public static ScaleTypeEnum scaleType(ScaleType scaleType) {
		switch (scaleType) {
		case ON_BOTH_AXES:
			return ScaleTypeEnum.ON_BOTH_AXES;
		case ON_DOMAIN_AXIS:
			return ScaleTypeEnum.ON_DOMAIN_AXIS;
		case ON_RANGE_AXIS:
			return ScaleTypeEnum.ON_RANGE_AXIS;
		default:
			throw new JasperDesignException("ScaleType " + scaleType.name() + " not supported");
		}
	}

	public static org.jfree.ui.RectangleAnchor rectangleAnchor(RectangleAnchor rectangleAnchor) {
		switch (rectangleAnchor) {
		case CENTER:
			return org.jfree.ui.RectangleAnchor.CENTER;
		case TOP:
			return org.jfree.ui.RectangleAnchor.TOP;
		case TOP_LEFT:
			return org.jfree.ui.RectangleAnchor.TOP_LEFT;
		case TOP_RIGHT:
			return org.jfree.ui.RectangleAnchor.TOP_RIGHT;
		case BOTTOM:
			return org.jfree.ui.RectangleAnchor.BOTTOM;
		case BOTTOM_LEFT:
			return org.jfree.ui.RectangleAnchor.BOTTOM_LEFT;
		case BOTTOM_RIGHT:
			return org.jfree.ui.RectangleAnchor.BOTTOM_RIGHT;
		case LEFT:
			return org.jfree.ui.RectangleAnchor.LEFT;
		case RIGHT:
			return org.jfree.ui.RectangleAnchor.RIGHT;
		default:
			throw new JasperDesignException("RectangleAnchor " + rectangleAnchor.name() + " not supported");
		}
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy