Предпосылки: Мой последний проект не может использовать большую библиотеку, что меня огорчает. Есть несколько вещей, которые я хотел бы получить из любой библиотеки, например, отсутствующие функции addClass
, hasClass
, removeClass
, совместимые addEventListener
] и т. д. Итак, я создал небольшой объект , о котором мне хотелось бы высказать свое мнение в другой раз, но у меня возникли небольшие проблемы с настройкой его так, как я хотел. Для удобства использования я хочу, чтобы объект возвращал новый экземпляр самого себя при создании.
Дано:
$ = function() {
this.name = "levi";
return this;
};
console.log($());
Мы получаем DOMWindow вместо У меня такая ситуация Итак, Compound - это список простых и / или Compound. Оба являются наследниками Value, которое определено как Simple - это класс, помеченный адаптером для маршалинга / демаршализации в / из простой строки Compound не требует адаптера. Проблема в том, что если Я использую Simple «как есть», он правильно маршалирует / демаршалирует как , но если я использую его внутри Compound, он выводит что-то вроде И мне просто интересно, почему ... Я что-то пропускаю? я удаляю это «значение»?
It seems to me that the Adapter is not used at all, is it possible to use adapters in types marked inside @XmlElements? EDIT After few tests i found that the problem could be in how i handle a Simple instance. So I simplify my initial question in: Given the a Simple class like how can i obtain a marshalled output like instead of ? $
из-за причудливой природы ] это
в JavaScript. Что более странно для меня, так это то, что console.log (new $ (). Name)
правильно возвращает "
@XmlRootElement (name = "соединение")
открытый класс Compound расширяет Value {@XmlElements ({@XmlElement (name = "simple", type = Simple.class), ... @XmlType(name ="", propOrder={"value"})
@XmlRootElement(name = "compound")
public class Compound extends Value {
@XmlElements({
@XmlElement(name="simple", type=Simple.class),
@XmlElement(name="compound", type=Compound.class)
})
protected List
public abstract class Value implements Serializable {}
@XmlJavaTypeAdapter(SimpleAdapter.class)
public class Simple extends Value {
private java.lang.String simple;
// ...
}
@XmlRootElement("simple")
public class Simple {
private java.lang.String innerText;
// getters/setters
}