ossiejhmoore

Untitled

Mar 15th, 2018
450
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.20 KB | None | 0 0
  1. OUTPUT:
  2.  
  3. ====  using isNullOrEmpty ====
  4. Convict: Joe Jacobs
  5. Alises : [Joey, Nails]
  6. Crimes : [Major, Minor]
  7.  
  8. Convict: Moe Mandy
  9. Alises : No known alises
  10. Crimes : [Major]
  11.  
  12. Convict: Unknown
  13. Alises : [Larry]
  14. Crimes : [Minor]
  15.  
  16. ====  using getDefaultIfNull ====
  17. Convict: Joe Jacobs
  18. Alises : [Joey, Nails]
  19. Crimes : [Major, Minor]
  20.  
  21. Convict: Moe Mandy
  22. Alises : No known alises
  23. Crimes : [Major]
  24.  
  25. Convict: Unknown
  26. Alises : [Larry]
  27. Crimes : [Minor]
  28.  
  29. CODE:
  30.  
  31. package deleteme;
  32.  
  33. import java.util.Arrays;
  34. import java.util.Collection;
  35. import java.util.List;
  36.  
  37. public class DeleteMe {
  38.  
  39.     public static void main(String[] args) {
  40.         showExample();
  41.     }
  42.  
  43.     private static class Crime {
  44.  
  45.         private String name;
  46.  
  47.         public String getName() {
  48.             return name;
  49.         }
  50.  
  51.         public void setName(String name) {
  52.             this.name = name;
  53.         }
  54.  
  55.         @Override
  56.         public String toString() {
  57.             return getName();
  58.         }
  59.     }
  60.  
  61.     private static class Convict {
  62.  
  63.         private String name;
  64.         private List<String> alises;
  65.         private List<Crime> crimes;
  66.  
  67.         public String getName() {
  68.             return name;
  69.         }
  70.  
  71.         public void setName(String name) {
  72.             this.name = name;
  73.         }
  74.  
  75.         public List<String> getAlises() {
  76.             return alises;
  77.         }
  78.  
  79.         public void setAlises(List<String> alises) {
  80.             this.alises = alises;
  81.         }
  82.  
  83.         public List<Crime> getCrimes() {
  84.             return crimes;
  85.         }
  86.  
  87.         public void setCrimes(List<Crime> crimes) {
  88.             this.crimes = crimes;
  89.         }
  90.     }
  91.  
  92.     public static void showExample() {
  93.         Crime minor = new Crime();
  94.         minor.setName("Minor");
  95.  
  96.         Crime major = new Crime();
  97.         major.setName("Major");
  98.  
  99.         Convict joe = new Convict();
  100.         joe.setName("Joe Jacobs");
  101.         joe.setAlises(Arrays.asList(new String[]{"Joey", "Nails"}));
  102.         joe.setCrimes(Arrays.asList(new Crime[]{major, minor}));
  103.  
  104.         Convict moe = new Convict();
  105.         moe.setName("Moe Mandy");
  106.         moe.setCrimes(Arrays.asList(new Crime[]{major}));
  107.  
  108.         Convict larry = new Convict();
  109.         larry.setAlises(Arrays.asList(new String[]{"Larry"}));
  110.         larry.setCrimes(Arrays.asList(new Crime[]{minor}));
  111.  
  112.         List<Convict> convicts = Arrays.asList(new Convict[]{joe, moe, larry});
  113.  
  114.         //using only the isNullOrEmpty
  115.         System.out.println("====  using isNullOrEmpty ====");
  116.         for (Convict convict : convicts) {
  117.             System.out.printf("Convict: %s%n", isNullOrEmpty(convict.getName()) ? "Unknown" : convict.getName());
  118.             System.out.printf("Alises : %s%n", isNullOrEmpty(convict.getAlises()) ? "No known alises" : convict.getAlises());
  119.             System.out.printf("Crimes : %s%n%n", isNullOrEmpty(convict.getCrimes()) ? "No known crimes" : convict.getCrimes());
  120.         }
  121.  
  122.         //using the conveninece method for get default if null
  123.         System.out.println("====  using getDefaultIfNull ====");
  124.         for (Convict convict : convicts) {
  125.             System.out.printf("Convict: %s%n", getDefaultIfNull(convict.getName(), "Unknown"));
  126.             System.out.printf("Alises : %s%n", getDefaultIfNull(convict.getAlises(), "No known alises"));
  127.             System.out.printf("Crimes : %s%n%n", getDefaultIfNull(convict.getCrimes(), "No known crimes"));
  128.         }
  129.  
  130.     }
  131.  
  132.     public static Object getDefaultIfNull(Object o, Object ifNullUseThis) {
  133.         return (isNullOrEmpty(o) ? ifNullUseThis : o);
  134.     }
  135.  
  136.     public static boolean isNullOrEmpty(Object o) {
  137.         boolean isNullOrEmpty = true;
  138.         if (o != null) {
  139.             if (String.class.isAssignableFrom(o.getClass())) {
  140.                 isNullOrEmpty = ((String) o).isEmpty();
  141.             } else if (Collection.class.isAssignableFrom(o.getClass())) {
  142.                 isNullOrEmpty = ((Collection) o).isEmpty();
  143.             } else if (o.getClass().isArray()) {
  144.                 isNullOrEmpty = (((Object[]) o).length == 0);
  145.             } else {
  146.                 isNullOrEmpty = String.valueOf(o).isEmpty();
  147.             }
  148.         }
  149.         return isNullOrEmpty;
  150.     }
  151. }
Advertisement
Add Comment
Please, Sign In to add comment