I have a ConfigInstance class which contains a password and a password_hash.
Now I want to serialize the object using gson but exclude the password field.
public class ConfigInstance {
    public String database_address;
    public int database_port;
    public String database_user;
    @Expose(serialize = false)
    private String database_pass;
    public String database_pass_hash;
    public String GetPass() { return database_pass; }
    public void Encrypt() { /* Creates the hash before serializing*/ }
    public void Decrypt() { /* Creates the password after deserializing */}
}
As you can see, I have tried using @Expose(serialize = false) but it doesn't seem to do anything. Also I already set the field to private since I figured that this would "override" the @Expose
but running following code:
private void toFile(File file, ConfigInstance map) {
    map.Encrypt();
    Gson gson = new GsonBuilder().setPrettyPrinting().create();
    String jsonConfig = gson.toJson(map);
    FileWriter writer;
    try {
        writer = new FileWriter(file);
        writer.write(jsonConfig);
        writer.flush();
        writer.close();
    } catch (IOException e) {
        System.out.println("Error exporting config: " + e.toString());
    }
}
still results in the following file content without Errors:
{
  "database_address": "127.0.0.1",
  "database_port": 1521,
  "database_user": "test",
  "database_pass": "test1234",
  "database_pass_hash": "B9FE2C011B59F0D0D383D70073E48A19"
}
So what am I doing wrong? I am pretty clueless right now and would appreciate any help since THIS doesn't seem to work.
Thanks in advance.
 
     
     
     
     
     
     
     
    