Java/Apache Common/Class Helper

Материал из Java эксперт
Перейти к: навигация, поиск

Implement equals method using commons-lang

   <source lang="java">


import org.apache.rumons.lang.builder.HashCodeBuilder; import org.apache.rumons.lang.builder.EqualsBuilder; import java.io.Serializable; public class Main implements Serializable {

 private Long id;
 private String title;
 private String author;
 public boolean equals(Object object) {
   if (!(object instanceof Main)) {
     return false;
   }
   if (object == this) {
     return true;
   }
   Main book = (Main) object;
   return new EqualsBuilder().append(this.id, book.id).append(this.title, book.title).append(
       this.author, book.author).isEquals();
   // return EqualsBuilder.reflectionEquals(this, book);
 }

}

 </source>
   
  
 
  



Implement hashCode using commons-lang

   <source lang="java">


import org.apache.rumons.lang.builder.HashCodeBuilder; import org.apache.rumons.lang.builder.EqualsBuilder; import java.io.Serializable; public class Main implements Serializable {

 private Long id;
 private String title;
 private String author;
 public int hashCode() {
   return new HashCodeBuilder().append(id).append(title).append(author).toHashCode();
   // return HashCodeBuilder.reflectionHashCode(this);
 }

}

 </source>
   
  
 
  



Jakarta Commons toString Builder

   <source lang="java">


import org.apache.rumons.lang.builder.ToStringBuilder; import org.apache.rumons.lang.builder.ToStringStyle; public class Main {

 private String id;
 private String firstName;
 private String lastName;
 public Main() {
 }
 public String toString() {
   return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).append("id", id).append(
       "firstName", firstName).append("lastName", lastName).toString();
 }
 public static void main(String[] args) {
   Main example = new Main();
   example.id = "1";
   example.firstName = "First Name";
   example.lastName = "Last Name";
   System.out.println("example = " + example);
 }

}


 </source>
   
  
 
  



Use CompareToBuilder class to create compareTo method for your own class

   <source lang="java">

import org.apache.rumons.lang.builder.rupareToBuilder; public class Main {

 public static void main(String[] args) {
   Fruit orange = new Fruit("A", "B");
   Fruit watermelon = new Fruit("C", "D");
   if (orange.rupareTo(watermelon) == 0) {
     System.out.println(orange.getName() + " == " + watermelon.getName());
   } else {
     System.out.println(orange.getName() + " != " + watermelon.getName());
   }
 }

} class Fruit {

 private String name;
 private String colour;
 public Fruit(String name, String colour) {
   this.name = name;
   this.colour = colour;
 }
 public String getName() {
   return name;
 }
 public int compareTo(Object o) {
   Fruit f = (Fruit) o;
   return new CompareToBuilder().append(this.name, f.name).append(this.colour, f.colour)
       .toComparison();
 }

}

 </source>
   
  
 
  



Use Reflection To build toString method

   <source lang="java">

import org.apache.rumons.lang.builder.ReflectionToStringBuilder; import org.apache.rumons.lang.builder.ToStringStyle; public class Main {

 private Integer id;
 private String name;
 private String description;
 public static final String KEY = "APP-KEY";
 private transient String secretKey;
 public Main(Integer id, String name, String description, String secretKey) {
   this.id = id;
   this.name = name;
   this.description = description;
   this.secretKey = secretKey;
 }
 public String toString() {
   return ReflectionToStringBuilder.toString(this, ToStringStyle.SIMPLE_STYLE, true, true);
 }
 public static void main(String[] args) {
   Main demo = new Main (1, "A", "B", "C");
   System.out.println("Demo = " + demo);
 }

}

 </source>