Subversion Repositories SmartDukaan

Rev

Rev 29929 | Rev 30034 | Go to most recent revision | View as "text/plain" | Blame | Compare with Previous | Last modification | View Log | RSS feed


package com.spice.profitmandi.common.util;

import java.math.RoundingMode;
import java.text.NumberFormat;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Locale;

public class FormattingUtils {

        private static final NumberFormat currencyFormatter = NumberFormat.getCurrencyInstance(new Locale("en", "IN"));
        private static final NumberFormat numberFormatter = NumberFormat.getNumberInstance(new Locale("en", "IN"));
        private static final NumberFormat digitFormatter = NumberFormat.getNumberInstance(new Locale("en", "IN"));

        static {
                numberFormatter.setMaximumFractionDigits(2);
                numberFormatter.setMinimumFractionDigits(2);
                numberFormatter.setRoundingMode(RoundingMode.HALF_UP);

                digitFormatter.setMinimumFractionDigits(0);
                digitFormatter.setMinimumFractionDigits(0);
                digitFormatter.setRoundingMode(RoundingMode.HALF_UP);
        }

        private static final DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy");
        private static final DateTimeFormatter dateMonthFormatter = DateTimeFormatter.ofPattern("MMM-dd");
        private static final DateTimeFormatter reporticoFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        private static final DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm");
        private static final DateTimeFormatter ymFormatter = DateTimeFormatter.ofPattern("yyyyMM");
        private static final DateTimeFormatter monYYYYFormatter = DateTimeFormatter.ofPattern("MMM, yyyy");

        public static String getYearMonth(LocalDateTime dateTime) {
                return dateTime.format(ymFormatter);
        }


        public static String formatYearMonth(LocalDateTime dateTime) {
                return dateTime.format(monYYYYFormatter);
        }

        public static String formatDecimal(double number) {
                return numberFormatter.format(number).replace("\\.00", "");
        }

        public static String formatDecimal(int number) {
                return numberFormatter.format(number).replace("\\.00", "");
        }

        public static String formatDecimal(long number) {
                return numberFormatter.format(number).replace("\\.00", "");
        }

        public static String formatDecimal(float number) {
                return numberFormatter.format(number).replace("\\.00", "");
        }

        public static String formatDigit(float number) {
                return numberFormatter.format(number).replace("\\.00", "");
        }

        public static String formatDigit(long number) {
                return numberFormatter.format(number).replace("\\.00", "");
        }

        public static String formatDigit(int number) {
                return numberFormatter.format(number).replace("\\.00", "");
        }

        public static String formatDigit(double number) {
                return numberFormatter.format(number).replace("\\.00", "");
        }
/*
        public String formatDecimal(double amount){
                return numberFormatter.format(amount).replace("\\.00", "");
        }*/

        public static String format(LocalDateTime localDateTime) {
                return localDateTime.format(dateTimeFormatter);
        }

        public static String formatPrice(double amount) {
                return currencyFormatter.format(amount).replace("\\.00", "");
        }

        public static String formatPrice(float amount) {
                return currencyFormatter.format(amount).replace("\\.00", "");
        }

        public static String formatPrice(int amount) {
                return currencyFormatter.format(amount).replace("\\.00", "");
        }

        public static String formatPrice(long amount) {
                return currencyFormatter.format(amount).replace("\\.00", "");
        }

        public static String formatDate(LocalDateTime dateTime) {
                return dateTime.format(dateFormatter);
        }

        public static String formatDateMonth(LocalDateTime dateTime) {
                return dateTime.format(dateMonthFormatter);
        }

        public static String formatReporitcoDate(LocalDateTime dateTime) {
                if (dateTime == null) return "-";
                return dateTime.format(reporticoFormatter);
        }
}