2016-04-02 9 views
0

Ich habe 2 POJOs, die an eine HttpEntity übergeben und in json konvertiert werden.Wie übergibt man eine Variable aus 2 verschiedenen POJOs?

Bevor ich sie überlasse, brauche ich eine Variable, die in beiden POJOs mit unterschiedlichen Namen wegen der Bedürfnisse der API ist, also kann ich sie nicht ändern.

Was ist der beste Weg ohne Gießen und in Bezug auf OOP auch innerhalb der POJO-Definition wie in Wikipedia erwähnt?

Zusammenfassung pojo

public abstract class Pojo{ 

//some common variables 
//setter getters 

} 

PojoOne

public class PojoOne extends Pojo{ 

private String id; 

//setter getter for id 

} 

PojoTwo

public class PojoTwo extends Pojo{ 

private String identifier; 

// setter getter for identifier 
} 

Klasse, dass

public class SomeOtherClass { 

public void getIdForUse(Pojo pojo){ 

String s = pojo. // How should this be to have ability to get both id and identifier 

} 

}

+0

In abstrakter Klasse 'Pojo' definieren abstrakte Methode' getId() 'und es in den beiden untergeordneten Klassen realisieren. – sanluck

+0

Rufen Sie dann 'getId()' von 'Pojo' in' SomeOtherClass'. – sanluck

+0

Der Nachteil ist, dass jedes Kind, das in Zukunft erstellt wird, getId() überschreiben muss, auch wenn sie keine ID oder Kennung haben. – yavuzd

Antwort

0

eine gemeinsame Methode, die die gemeinsamen übergeordnete Klasse hinzufügen:

public abstract class Pojo { 

    public abstract String getId(); 

    // some common variables 
    // setter getters 
} 

public class PojoOne extends Pojo { 

    private String id; 

    @Override 
    public String getId() { 
     return id; 
    } 

    //setter for id 
} 

public class PojoTwo extends Pojo { 

    private String identifier; 

    // setter getter for identifier 

    @Override 
    public String getId() { 
     return identifier; 
    } 
} 
Verwandte Themen