Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Adding custom code to greenDAO entities

I want to add some custom code to my greenDAO entities. I saw there is something like protected regions. But I don't like the idea to check in the generated classes to my git repository. I'd like to use inheritance for this.

i.e. I have an entity User. So I want greenDAO to generate a class called UserBase. This I want to extend by User and implement a method like this:

public String getFullName() {
    return this.first + " " + this.last;
}

Where first and last are managed properties.

But I have no idea how to tell greenDAO to use the class User instead of the generated entity UserBase. Is there any way to do this?

like image 674
keineantwort Avatar asked Jun 04 '13 17:06

keineantwort


1 Answers

I found a way how to solve this:

you can enter a parent for each entity:

Entity user = schema.addEntity("User");
...
user.setSuperclass("UserBase");

So you can implement the UserBase as an abstract class.

public abstract class UserBase {

  public String getFullName() {
    return getFirst() + " " + getLast();
  }

  public abstract int getFirst();
  public abstract int getLast();
}

The disadvantage here is, that you have to declare the generated getters as abstract methods to access them.

like image 152
keineantwort Avatar answered Sep 28 '22 04:09

keineantwort