Gdzie umieścić konweter klas?

0

Przykładowo mam klasy o takiej strukturze:

class MyInnerClass {
  int x = 5;
  double y = 7.0;
}
class MyOuterClass {
  String name = "Rnajlepszy";
  MyInnerClass mic = new MyInnerClass();
}

MyInnerClass jest podzbiorem MyOuterClass.

Teraz chcę przekonwertować klasę MyOuterClass na dokument org.bson.Document aby zapisać tę klasę w MongoDB ale nie jako obiekt tylko po kolei ładnie całą zawartość, takim bsonem:

{
    "_id" : ObjectId("59csacsasfarnajlepszy4463"),
    name : "Rnajlepszy",
    MyInnerClass : {
                              x : 5,
                              y : 7.0
                             }
}

Gdzie umieścić konweter? Osobna klasa do konwertowania MyOuterClassToBsonDoc czy w każdej z klas tj. : MyOuterClass i MyInnerClass zrobić zagnieżdżoną klasę konwertera, która jest odpowiedzialna za konwertowanie tylko tej swojej klasy i potem przekazywać to skonwertowane z MyInner do MyOuter czy w ogóle osobno wydzielić klasy konwertujące dla każdej klasy i dodać tylko metodę do tych klas co wywołuje te konwertery odpowiednie czy jak?

0

Oddzielna klasa z X do Y i oddzielna z Y do X.
Ale najpierw poszukać gotowego rozwiązania, a jeśli nie ma, to sprawdzić czy da się rozwiązać problem generycznie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1