Firebase ServerValue.TIMESTAMP in Java data models objects

This sounds similar to this question: When making a POJO in Firebase, can you use ServerValue.TIMESTAMP?

When creating POJOs used to store/retrieve data apart from the default empty constructor I usually use a constructor similar to this:

Param param1;
Param param2;
HashMap<String, Object> timestampCreated;

//required empty constructor
public DataObject(){}

public DataObject(Param param1, Param param2) {
       this.param1 = param1;
       this.param2 = param2;
       HashMap<String, Object> timestampNow = new HashMap<>();
       timestampNow.put("timestamp", ServerValue.TIMESTAMP);
       this.timestampCreated = timestampNow;
}

Be sure to include a getter for the HashMap<> used to store the Timestamp:

public HashMap<String, Object> getTimestampCreated(){
    return timestampCreated;
}

Then use the @Exclude annotation to create a getter that you can use in your code to get the value of the timestamp if you need it. The @Exclude annotation will cause Firebase to ignore this getter and not look for a corresponding property

@Exclude
public long getTimestampCreatedLong(){
    return (long)timestampCreated.get("timestamp");
}

Here's how I do it

//member variable
Object createdTimestamp;

public YourConstructor(){
    createdTimestamp = ServerValue.TIMESTAMP
}

@Exclude
public long getCreatedTimestampLong(){
    return (long)createdTimestamp;
}

Your db object should include these:

public class FirebaseDbObject {

    private final Object timestamp = ServerValue.TIMESTAMP;

    //........
    //........

    Object getTimestamp() {
        return timestamp;
    }

    @Exclude
    public long timestamp() {
        return (long) timestamp;
    }

}

This will add an extra field called "timestamp" to your object.

Edit: The answer posted by MobileMon is not fully correct as it does not have getter method. This is the complete and correct answer.