Как вы делаете следующее в действительности?
Существует класс XmlSerializer
, который зависит от интерфейса XmlFormatter
.
Существует 2 реализации XmlFormatter
: CompactXmlFormatter
и PrettyXmlFormatter
.
Другой класс MyApplication
зависит от 2 экземпляров XmlSerializer
. Один экземпляр должен быть настроен на CompactXmlFormatter
, а другой PrettyXmlFormatter
public class XmlSerializer {
public XmlSerializer(XmlFormatter formatter) {
...
}
}
public interface XmlFormatter {
...
}
public class CompactXmlFormatter implements XmlFormatter {
...
}
public class PrettyXmlFormatter implements XmlFormatter {
...
}
public class MyApplication {
public MyApplication(XmlSerializer compactSerializer, XmlSerializer prettySerializer) {
...
}
}
Как вы строите такой график?
Я знаю, что когда у вас есть 2 XmlSerializer
экземпляров, для их внедрения в MyApplication
требуются аннотации в параметрах конструктора MyApplication
.
Меня больше интересует, как вы связываете XmlFormatter
с CompactXmlFormatter
и PrettyXmlFormatter
.