Subversion Repositories SmartDukaan

Rev

Rev 30219 | Rev 30842 | 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;
23532 amit.gupta 7
import java.time.LocalDateTime;
8
import java.time.format.DateTimeFormatter;
21543 ashik.ali 9
import java.util.Locale;
10
 
11
public class FormattingUtils {
12
 
29929 amit.gupta 13
	private static final NumberFormat currencyFormatter = NumberFormat.getCurrencyInstance(new Locale("en", "IN"));
14
	private static final NumberFormat numberFormatter = NumberFormat.getNumberInstance(new Locale("en", "IN"));
29980 amit.gupta 15
	private static final NumberFormat digitFormatter = NumberFormat.getNumberInstance(new Locale("en", "IN"));
16
 
17
	static {
18
		numberFormatter.setMaximumFractionDigits(2);
19
		numberFormatter.setMinimumFractionDigits(2);
20
		numberFormatter.setRoundingMode(RoundingMode.HALF_UP);
21
 
22
		digitFormatter.setMinimumFractionDigits(0);
23
		digitFormatter.setMinimumFractionDigits(0);
24
		digitFormatter.setRoundingMode(RoundingMode.HALF_UP);
25
	}
26
 
29929 amit.gupta 27
	private static final DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy");
28
	private static final DateTimeFormatter dateMonthFormatter = DateTimeFormatter.ofPattern("MMM-dd");
29
	private static final DateTimeFormatter reporticoFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
30213 amit.gupta 30
	private static final DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm:ss");
29929 amit.gupta 31
	private static final DateTimeFormatter ymFormatter = DateTimeFormatter.ofPattern("yyyyMM");
32
	private static final DateTimeFormatter monYYYYFormatter = DateTimeFormatter.ofPattern("MMM, yyyy");
30219 tejbeer 33
	private static DateTimeFormatter yyMMDDTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
29929 amit.gupta 34
 
28532 amit.gupta 35
	public static String getYearMonth(LocalDateTime dateTime) {
28533 amit.gupta 36
		return dateTime.format(ymFormatter);
28532 amit.gupta 37
	}
29929 amit.gupta 38
 
39
 
28532 amit.gupta 40
	public static String formatYearMonth(LocalDateTime dateTime) {
41
		return dateTime.format(monYYYYFormatter);
42
	}
29929 amit.gupta 43
 
44
	public static String formatDecimal(double number) {
30034 amit.gupta 45
		return numberFormatter.format(number).replace(".00", "");
21543 ashik.ali 46
	}
29929 amit.gupta 47
 
48
	public static String formatDecimal(float number) {
30034 amit.gupta 49
		return numberFormatter.format(number).replace(".00", "");
29929 amit.gupta 50
	}
29980 amit.gupta 51
 
52
	public static String formatDigit(float number) {
30034 amit.gupta 53
		return digitFormatter.format(number);
29980 amit.gupta 54
	}
55
 
56
	public static String formatDigit(long number) {
30034 amit.gupta 57
		return digitFormatter.format(number);
29980 amit.gupta 58
	}
59
 
60
	public static String formatDigit(int number) {
30034 amit.gupta 61
		return digitFormatter.format(number);
29980 amit.gupta 62
	}
63
 
64
	public static String formatDigit(double number) {
30034 amit.gupta 65
		return digitFormatter.format(number);
29980 amit.gupta 66
	}
29929 amit.gupta 67
 
68
	public static String format(LocalDateTime localDateTime) {
28310 amit.gupta 69
		return localDateTime.format(dateTimeFormatter);
70
	}
29929 amit.gupta 71
 
29980 amit.gupta 72
	public static String formatPrice(double amount) {
30034 amit.gupta 73
		return currencyFormatter.format(amount).replace(".00", "");
23556 amit.gupta 74
	}
29929 amit.gupta 75
 
29980 amit.gupta 76
	public static String formatPrice(float amount) {
30034 amit.gupta 77
		return currencyFormatter.format(amount).replace(".00", "");
29929 amit.gupta 78
	}
79
 
29980 amit.gupta 80
	public static String formatPrice(int amount) {
30034 amit.gupta 81
		return currencyFormatter.format(amount);
29929 amit.gupta 82
	}
83
 
29980 amit.gupta 84
	public static String formatPrice(long amount) {
30034 amit.gupta 85
		return currencyFormatter.format(amount);
29929 amit.gupta 86
	}
87
 
23532 amit.gupta 88
	public static String formatDate(LocalDateTime dateTime) {
23539 amit.gupta 89
		return dateTime.format(dateFormatter);
23532 amit.gupta 90
	}
29929 amit.gupta 91
 
29910 amit.gupta 92
	public static String formatDateMonth(LocalDateTime dateTime) {
93
		return dateTime.format(dateMonthFormatter);
94
	}
29929 amit.gupta 95
 
23945 amit.gupta 96
	public static String formatReporitcoDate(LocalDateTime dateTime) {
29929 amit.gupta 97
		if (dateTime == null) return "-";
23945 amit.gupta 98
		return dateTime.format(reporticoFormatter);
99
	}
30219 tejbeer 100
 
101
	public static String formatDateTime(LocalDateTime dateTime) {
102
		if (dateTime == null)
103
			return "-";
104
		return dateTime.format(yyMMDDTimeFormatter);
105
	}
30289 amit.gupta 106
 
107
	public static double serialize(double value) throws IOException {
108
		BigDecimal bd = new BigDecimal(value);
109
		bd = bd.setScale(2, RoundingMode.HALF_UP);
110
		return bd.doubleValue();
111
	}
21543 ashik.ali 112
}