Subversion Repositories SmartDukaan

Rev

Rev 31460 | Rev 32308 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
21543 ashik.ali 1
package com.spice.profitmandi.common.util;
2
 
30289 amit.gupta 3
import java.io.IOException;
4
import java.math.BigDecimal;
29980 amit.gupta 5
import java.math.RoundingMode;
21543 ashik.ali 6
import java.text.NumberFormat;
30842 amit.gupta 7
import java.time.LocalDate;
23532 amit.gupta 8
import java.time.LocalDateTime;
9
import java.time.format.DateTimeFormatter;
21543 ashik.ali 10
import java.util.Locale;
11
 
12
public class FormattingUtils {
13
 
29929 amit.gupta 14
	private static final NumberFormat currencyFormatter = NumberFormat.getCurrencyInstance(new Locale("en", "IN"));
15
	private static final NumberFormat numberFormatter = NumberFormat.getNumberInstance(new Locale("en", "IN"));
29980 amit.gupta 16
	private static final NumberFormat digitFormatter = NumberFormat.getNumberInstance(new Locale("en", "IN"));
17
 
18
	static {
19
		numberFormatter.setMaximumFractionDigits(2);
20
		numberFormatter.setMinimumFractionDigits(2);
21
		numberFormatter.setRoundingMode(RoundingMode.HALF_UP);
22
 
23
		digitFormatter.setMinimumFractionDigits(0);
24
		digitFormatter.setMinimumFractionDigits(0);
25
		digitFormatter.setRoundingMode(RoundingMode.HALF_UP);
26
	}
27
 
29929 amit.gupta 28
	private static final DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy");
30842 amit.gupta 29
	private static final DateTimeFormatter ddMMMyyyyHypenatedFormatter = DateTimeFormatter.ofPattern("dd-MMM-yyyy");
29929 amit.gupta 30
	private static final DateTimeFormatter dateMonthFormatter = DateTimeFormatter.ofPattern("MMM-dd");
31
	private static final DateTimeFormatter reporticoFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
30213 amit.gupta 32
	private static final DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm:ss");
29929 amit.gupta 33
	private static final DateTimeFormatter ymFormatter = DateTimeFormatter.ofPattern("yyyyMM");
31044 amit.gupta 34
	private static final DateTimeFormatter ymdFormatter = DateTimeFormatter.ofPattern("yyyyMMdd");
29929 amit.gupta 35
	private static final DateTimeFormatter monYYYYFormatter = DateTimeFormatter.ofPattern("MMM, yyyy");
30219 tejbeer 36
	private static DateTimeFormatter yyMMDDTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
29929 amit.gupta 37
 
28532 amit.gupta 38
	public static String getYearMonth(LocalDateTime dateTime) {
28533 amit.gupta 39
		return dateTime.format(ymFormatter);
28532 amit.gupta 40
	}
29929 amit.gupta 41
 
28532 amit.gupta 42
	public static String formatYearMonth(LocalDateTime dateTime) {
43
		return dateTime.format(monYYYYFormatter);
44
	}
29929 amit.gupta 45
 
31044 amit.gupta 46
	public static String formatToYMD(LocalDateTime dateTime) {
47
		return dateTime.format(ymdFormatter);
48
	}
49
 
29929 amit.gupta 50
	public static String formatDecimal(double number) {
30034 amit.gupta 51
		return numberFormatter.format(number).replace(".00", "");
21543 ashik.ali 52
	}
29929 amit.gupta 53
 
54
	public static String formatDecimal(float number) {
30034 amit.gupta 55
		return numberFormatter.format(number).replace(".00", "");
29929 amit.gupta 56
	}
29980 amit.gupta 57
 
58
	public static String formatDigit(float number) {
30034 amit.gupta 59
		return digitFormatter.format(number);
29980 amit.gupta 60
	}
61
 
62
	public static String formatDigit(long number) {
30034 amit.gupta 63
		return digitFormatter.format(number);
29980 amit.gupta 64
	}
65
 
66
	public static String formatDigit(int number) {
30034 amit.gupta 67
		return digitFormatter.format(number);
29980 amit.gupta 68
	}
69
 
70
	public static String formatDigit(double number) {
30034 amit.gupta 71
		return digitFormatter.format(number);
29980 amit.gupta 72
	}
29929 amit.gupta 73
 
74
	public static String format(LocalDateTime localDateTime) {
31460 amit.gupta 75
		return (localDateTime == null) ? "" : localDateTime.format(dateTimeFormatter);
28310 amit.gupta 76
	}
29929 amit.gupta 77
 
29980 amit.gupta 78
	public static String formatPrice(double amount) {
30034 amit.gupta 79
		return currencyFormatter.format(amount).replace(".00", "");
23556 amit.gupta 80
	}
29929 amit.gupta 81
 
29980 amit.gupta 82
	public static String formatPrice(float amount) {
30034 amit.gupta 83
		return currencyFormatter.format(amount).replace(".00", "");
29929 amit.gupta 84
	}
85
 
29980 amit.gupta 86
	public static String formatPrice(int amount) {
30034 amit.gupta 87
		return currencyFormatter.format(amount);
29929 amit.gupta 88
	}
89
 
29980 amit.gupta 90
	public static String formatPrice(long amount) {
30034 amit.gupta 91
		return currencyFormatter.format(amount);
29929 amit.gupta 92
	}
93
 
23532 amit.gupta 94
	public static String formatDate(LocalDateTime dateTime) {
23539 amit.gupta 95
		return dateTime.format(dateFormatter);
23532 amit.gupta 96
	}
29929 amit.gupta 97
 
31703 amit.gupta 98
	public static String formatDate(LocalDate date) {
99
		return date.format(dateFormatter);
100
	}
101
 
29910 amit.gupta 102
	public static String formatDateMonth(LocalDateTime dateTime) {
103
		return dateTime.format(dateMonthFormatter);
104
	}
29929 amit.gupta 105
 
30842 amit.gupta 106
	public static String formatDDMMMyyyyFormatter(LocalDate localDate) {
107
		return localDate.format(ddMMMyyyyHypenatedFormatter);
108
	}
109
 
23945 amit.gupta 110
	public static String formatReporitcoDate(LocalDateTime dateTime) {
31177 tejbeer 111
		if (dateTime == null)
112
			return "-";
23945 amit.gupta 113
		return dateTime.format(reporticoFormatter);
114
	}
30219 tejbeer 115
 
116
	public static String formatDateTime(LocalDateTime dateTime) {
117
		if (dateTime == null)
118
			return "-";
119
		return dateTime.format(yyMMDDTimeFormatter);
120
	}
30289 amit.gupta 121
 
122
	public static double serialize(double value) throws IOException {
123
		BigDecimal bd = new BigDecimal(value);
124
		bd = bd.setScale(2, RoundingMode.HALF_UP);
125
		return bd.doubleValue();
126
	}
31177 tejbeer 127
 
128
	public static double serialize(BigDecimal value) {
129
		value = value.setScale(2, RoundingMode.HALF_UP);
130
		return value.doubleValue();
131
	}
21543 ashik.ali 132
}