1 2 package org.paneris.jammyjoes.util; 3 4 import java.text.NumberFormat; 5 import java.util.Locale; 6 7 import org.melati.util.ContextUtil; 8 import org.melati.util.HTMLUtils; 9 import org.melati.util.UTF8URLEncoder; 10 11 /** 12 * A place where useful Static methods can be put. 13 */ 14 15 public class JammyJoesContextUtil { 16 17 ContextUtil _melatiUtil = new ContextUtil(); 18 19 public Integer increment(Integer a) { 20 return _melatiUtil.increment(a); 21 } 22 23 public static String getPriceDisplayWithoutPound(Double price) { 24 if (price == null) return ""; 25 double a = price.doubleValue(); 26 String s = NumberFormat.getCurrencyInstance(Locale.UK).format(a); 27 if (s.length() > 1) s = s.substring(1,s.length()); 28 return s; 29 } 30 31 public static String getInteger(Double price) { 32 if (price == null) return ""; 33 return price.intValue()+""; 34 } 35 36 public static String getNonZeroInteger(Double price) { 37 if (price == null) return ""; 38 if (price.doubleValue() == 0) return ""; 39 return price.intValue()+""; 40 } 41 42 public static String getNonZeroPriceDisplay(Double price) { 43 if (price == null) return ""; 44 if (price.doubleValue() == 0) return ""; 45 return getPriceDisplay(price); 46 } 47 48 public static String getPriceDisplay(Double price) { 49 if (price == null) return ""; 50 double a = price.doubleValue(); 51 if (a < 1) { 52 return new String((new Double(a*100)).intValue() + "p"); 53 } else { 54 return new String(NumberFormat.getCurrencyInstance(Locale.UK).format(a)); 55 } 56 } 57 58 public static String getPercentDisplay(Double percent) { 59 if (percent == null) return ""; 60 double a = percent.doubleValue(); 61 return new String(new Double((new Double(a*100)).intValue() / 100) + "%"); 62 } 63 64 public static String trimTo(String s, int length) { 65 s = HTMLUtils.entitied(s,false, null); 66 if (s.length() > length) return s.substring(0,length) + "..."; 67 return s; 68 } 69 70 public static String CRLFtoBR(String str) { 71 int begin=0, end=0; 72 String returnStr=""; 73 while(true) { 74 end=str.indexOf("\r\n", begin); 75 if(end==-1) return returnStr+=str.substring(begin); 76 returnStr+=str.substring(begin, end)+"<br>"; 77 begin=end+1; 78 } 79 } 80 81 public static String getUrlEncoded(String s) { 82 return UTF8URLEncoder.encode(s); 83 } 84 85 public static int getPositionOfSlash(String s, int count) { 86 int c = 0; 87 int position = 0; 88 while (c < count && position > -1) { 89 position = s.indexOf("/",position); 90 position++; 91 c++; 92 } 93 return position; 94 } 95 96 public static String getPathBeforeAge(String s) { 97 int p = getPositionOfSlash(s, 3); 98 if (p > -1) s = s.substring(0,p); 99 return s; 100 } 101 102 public static String getPathAfterAge(String s) { 103 int p = getPositionOfSlash(s, 4); 104 if (p > 1) s = s.substring(p-1, s.length()); 105 p = getPositionOfSlash(s, 8); 106 if (p > 0) s = s.substring(0, p); 107 return s; 108 } 109 110 public static void main(String[] args) { 111 System.out.println("path before age: " + getPathBeforeAge("//Dolls+houses/2_2/25_9999/house//////8/")); 112 System.out.println("path after age: " + getPathAfterAge("//Dolls+houses/2_2/25_9999/house//////8/")); 113 } 114 }