samedi 22 août 2015

Java - get propertie names referenced from method

So, I have this class:

public class Book {
private int id;
private String name;
private Something somebody;

@Override
public boolean equals(Object o) {
    if (this == o) return true;
    if (o == null || getClass() != o.getClass()) return false;

    Book book = (Book) o;

    if (id != book.id && somebody.getId() != book.somebody.getId()) return false;

    return true;
}

@Override
public int hashCode() {
    return id;
}
}

I would like to get all properties used in this class in equals method - in this case, I would get "id" from Book (since name is not used in equals method), and I would also get "somebody.id" since this is also used in equals method as sub object.

I need this info, so I can serialize only this properties and then during de-serialization on another machine use only that to compare equals. Otherwise it would be too cumbersome to compare full objects for equals (if I have too many sub-properties).





Aucun commentaire:

Enregistrer un commentaire