Subversion Repositories SmartDukaan

Rev

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
 
32308 amit.gupta 12
import static com.google.gson.internal.$Gson$Preconditions.checkArgument;
13
 
21543 ashik.ali 14
public class FormattingUtils {
15
 
29929 amit.gupta 16
	private static final NumberFormat currencyFormatter = NumberFormat.getCurrencyInstance(new Locale("en", "IN"));
17
	private static final NumberFormat numberFormatter = NumberFormat.getNumberInstance(new Locale("en", "IN"));
29980 amit.gupta 18
	private static final NumberFormat digitFormatter = NumberFormat.getNumberInstance(new Locale("en", "IN"));
19
 
20
	static {
21
		numberFormatter.setMaximumFractionDigits(2);
22
		numberFormatter.setMinimumFractionDigits(2);
23
		numberFormatter.setRoundingMode(RoundingMode.HALF_UP);
24
 
25
		digitFormatter.setMinimumFractionDigits(0);
26
		digitFormatter.setMinimumFractionDigits(0);
27
		digitFormatter.setRoundingMode(RoundingMode.HALF_UP);
28
	}
29
 
29929 amit.gupta 30
	private static final DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy");
30842 amit.gupta 31
	private static final DateTimeFormatter ddMMMyyyyHypenatedFormatter = DateTimeFormatter.ofPattern("dd-MMM-yyyy");
29929 amit.gupta 32
	private static final DateTimeFormatter dateMonthFormatter = DateTimeFormatter.ofPattern("MMM-dd");
33
	private static final DateTimeFormatter reporticoFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
32603 raveendra. 34
	//rkb
35
	public static final DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm:ss");
29929 amit.gupta 36
	private static final DateTimeFormatter ymFormatter = DateTimeFormatter.ofPattern("yyyyMM");
31044 amit.gupta 37
	private static final DateTimeFormatter ymdFormatter = DateTimeFormatter.ofPattern("yyyyMMdd");
29929 amit.gupta 38
	private static final DateTimeFormatter monYYYYFormatter = DateTimeFormatter.ofPattern("MMM, yyyy");
32603 raveendra. 39
	public static DateTimeFormatter yyMMDDTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
29929 amit.gupta 40
 
28532 amit.gupta 41
	public static String getYearMonth(LocalDateTime dateTime) {
28533 amit.gupta 42
		return dateTime.format(ymFormatter);
28532 amit.gupta 43
	}
29929 amit.gupta 44
 
28532 amit.gupta 45
	public static String formatYearMonth(LocalDateTime dateTime) {
46
		return dateTime.format(monYYYYFormatter);
47
	}
29929 amit.gupta 48
 
31044 amit.gupta 49
	public static String formatToYMD(LocalDateTime dateTime) {
50
		return dateTime.format(ymdFormatter);
51
	}
52
 
29929 amit.gupta 53
	public static String formatDecimal(double number) {
30034 amit.gupta 54
		return numberFormatter.format(number).replace(".00", "");
21543 ashik.ali 55
	}
29929 amit.gupta 56
 
57
	public static String formatDecimal(float number) {
30034 amit.gupta 58
		return numberFormatter.format(number).replace(".00", "");
29929 amit.gupta 59
	}
29980 amit.gupta 60
 
61
	public static String formatDigit(float number) {
30034 amit.gupta 62
		return digitFormatter.format(number);
29980 amit.gupta 63
	}
64
 
65
	public static String formatDigit(long number) {
30034 amit.gupta 66
		return digitFormatter.format(number);
29980 amit.gupta 67
	}
68
 
69
	public static String formatDigit(int number) {
30034 amit.gupta 70
		return digitFormatter.format(number);
29980 amit.gupta 71
	}
72
 
73
	public static String formatDigit(double number) {
30034 amit.gupta 74
		return digitFormatter.format(number);
29980 amit.gupta 75
	}
29929 amit.gupta 76
 
77
	public static String format(LocalDateTime localDateTime) {
31460 amit.gupta 78
		return (localDateTime == null) ? "" : localDateTime.format(dateTimeFormatter);
28310 amit.gupta 79
	}
29929 amit.gupta 80
 
29980 amit.gupta 81
	public static String formatPrice(double amount) {
30034 amit.gupta 82
		return currencyFormatter.format(amount).replace(".00", "");
23556 amit.gupta 83
	}
29929 amit.gupta 84
 
29980 amit.gupta 85
	public static String formatPrice(float amount) {
30034 amit.gupta 86
		return currencyFormatter.format(amount).replace(".00", "");
29929 amit.gupta 87
	}
88
 
29980 amit.gupta 89
	public static String formatPrice(int amount) {
30034 amit.gupta 90
		return currencyFormatter.format(amount);
29929 amit.gupta 91
	}
92
 
29980 amit.gupta 93
	public static String formatPrice(long amount) {
30034 amit.gupta 94
		return currencyFormatter.format(amount);
29929 amit.gupta 95
	}
96
 
23532 amit.gupta 97
	public static String formatDate(LocalDateTime dateTime) {
23539 amit.gupta 98
		return dateTime.format(dateFormatter);
23532 amit.gupta 99
	}
29929 amit.gupta 100
 
31703 amit.gupta 101
	public static String formatDate(LocalDate date) {
102
		return date.format(dateFormatter);
103
	}
104
 
29910 amit.gupta 105
	public static String formatDateMonth(LocalDateTime dateTime) {
106
		return dateTime.format(dateMonthFormatter);
107
	}
29929 amit.gupta 108
 
30842 amit.gupta 109
	public static String formatDDMMMyyyyFormatter(LocalDate localDate) {
110
		return localDate.format(ddMMMyyyyHypenatedFormatter);
111
	}
112
 
23945 amit.gupta 113
	public static String formatReporitcoDate(LocalDateTime dateTime) {
31177 tejbeer 114
		if (dateTime == null)
115
			return "-";
23945 amit.gupta 116
		return dateTime.format(reporticoFormatter);
117
	}
30219 tejbeer 118
 
119
	public static String formatDateTime(LocalDateTime dateTime) {
120
		if (dateTime == null)
121
			return "-";
122
		return dateTime.format(yyMMDDTimeFormatter);
123
	}
30289 amit.gupta 124
 
125
	public static double serialize(double value) throws IOException {
126
		BigDecimal bd = new BigDecimal(value);
127
		bd = bd.setScale(2, RoundingMode.HALF_UP);
128
		return bd.doubleValue();
129
	}
31177 tejbeer 130
 
131
	public static double serialize(BigDecimal value) {
132
		value = value.setScale(2, RoundingMode.HALF_UP);
133
		return value.doubleValue();
134
	}
32308 amit.gupta 135
 
136
	// https://github.com/google/guava
137
	String getDayOfMonthSuffix(final int n) {
138
		checkArgument(n >= 1 && n <= 31);
139
		if (n >= 11 && n <= 13) {
140
			return "th";
141
		}
142
		switch (n % 10) {
143
			case 1:
144
				return "st";
145
			case 2:
146
				return "nd";
147
			case 3:
148
				return "rd";
149
			default:
150
				return "th";
151
		}
152
	}
21543 ashik.ali 153
}