И чем это было удобно? Обычный сериализатор если ему передать такие данные будет думать что это название объекта и будет пытаться найти класс с таким именем — Orin или Kodi и т.д.
Прогоните свой json с именами в виде ключей хотябы тут json2csharp.com/ и убедитесь.
Так же если отправить его в Rails он сериализует каждого гнома в отдельный хеш с именем гнома, хотя должен был бы в масив с хешами чтобы удобней по ним можно было проходить.
А зачем было выводить имя гнома в ключ? Чтобы люди без вашего адаптера задолбались парсить это?
Нет, я понимая когда пишут свои адаптеры для типов, типа ObjectIDorg.bson.types.ObjectId для монги. Но вот так адаптеры под классы.
Да и если вы не заметили в комментариях к коду рядом с console.log явно прописано //100 так что я явно проверял что запускал, просто вы не внимательно читаете.
let не работает в нынешней консоле хрома и появится только в JavaScript 1.7.
Я к тому, что тот кусок кода с которого мы начали {key: "value"}
легко принять за объект или кусок json. И сам javascript на запрос что же это typeof {key: "value"} говорит что это объект.
Наследоваться не обязательно, как я написал можно прописывать всё в каждой моделе, но если вам нужно автоматом обновлять какие то поля как в Rails created_at и udated_at поля у каждой модели то лучше отнаследоваться чтобы не повторять код.
Меня другое смущает как вы в событие передаёте юзера который делает изменение. Пока то что у вас в коде захардкоден юзер с id 2
LastModified lastModified = new LastModified((User) userDao.get(2));
Или можно воспользоватся аннотациями к примеру обновлять дату создания и модификации модели.
@MappedSuperclass
public abstract class AbstractEntity<PK extends Serializable> extends AbstractPersistable<PK> {
private static final long serialVersionUID = 1L;
@Column(nullable = false)
private Date createdDate;
@Column(nullable = false)
private Date updatedDate;
@PrePersist
public void onCreate() {
this.createdDate = new Date();
this.updatedDate = new Date();
}
@PreUpdate
public void onUpdate() {
this.updatedDate = new Date();
}
}
Унаследовать модели от выше описанного класса, где хотим автоматом проставлять даты.
Или в каждой моделе ручками добавляем методы и соответственно переменные не забыть.
@PrePersist
public void onCreate() {
this.createdDate = new Date();
this.updatedDate = new Date();
}
@PreUpdate
public void onUpdate() {
this.updatedDate = new Date();
}
А каким образом отсчитывали восстановление стамины, чтобы отослать сообщение? Какой то общий таймер дёргающий значение стамины и если > n, отсылали сообщение?
OrinилиKodiи т.д.Прогоните свой json с именами в виде ключей хотябы тут json2csharp.com/ и убедитесь.
Так же если отправить его в Rails он сериализует каждого гнома в отдельный хеш с именем гнома, хотя должен был бы в масив с хешами чтобы удобней по ним можно было проходить.
Нет, я понимая когда пишут свои адаптеры для типов, типа
ObjectIDorg.bson.types.ObjectIdдля монги. Но вот так адаптеры под классы.{ }на новую строку в java ужасно бесит:(Увы, больше нет.
UMNdI1jweU0OskaQg45jJAYMN4 шт. / 3 дн.
console.logявно прописано//100так что я явно проверял что запускал, просто вы не внимательно читаете.letне работает в нынешней консоле хрома и появится только в JavaScript 1.7.Я к тому, что тот кусок кода с которого мы начали
{key: "value"}легко принять за объект или кусок json. И сам javascript на запрос что же это
typeof {key: "value"}говорит что это объект.Я имею ввиду просто code block, вводит в замешательство.
Зачем вообще нужен этот code block если он не делает свою область видимости?
Тут же присваиваем переменной
и
typeofна{}говорит что это обьект.Objectcreated_atиudated_atполя у каждой модели то лучше отнаследоваться чтобы не повторять код.Меня другое смущает как вы в событие передаёте юзера который делает изменение. Пока то что у вас в коде захардкоден юзер с id 2
Унаследовать модели от выше описанного класса, где хотим автоматом проставлять даты.
Или в каждой моделе ручками добавляем методы и соответственно переменные не забыть.
Про ваш способ не знал, возьму на заметку.