- 1
- 2
- 3
- 4
- 5
- 6
ObservableStorage.ConfigurationTuple<Integer, ObservableStorage.ConfigurationTuple<Foo, ObservableStorage.ConfigurationTuple<Foo, ObservableStorage.ConfigurationEnd>>> build = RemoteObservableStorage
.configurationBuilder()
.use("foo").as(Foo.class)
.use("foo1").as(Foo.class)
.use("ids").as(Integer.class)
.build();
bormand 26.01.2014 14:49 # 0
myzone 26.01.2014 18:47 # +1
где-то так :)
bormand 26.01.2014 19:24 # +1
Чего не сделаешь ради типобезопасности.
myzone 26.01.2014 19:49 # +1
И, да, я понимаю, что джава не лучший способ делать такие вещи :)
bormand 26.01.2014 19:56 # 0
Ага, в крестах его можно было бы индексировать: configuration.get<2>().
myzone 26.01.2014 20:15 # +1
Чтобы можно было написать просто
Да и вообще круто их было бы именовать и потом по именам получать, но как такое сделать, идей нет :(
Причем именовать не стрингами, а чем-то более безопасным.
bormand 26.01.2014 20:29 # 0
Именами классов, больше то нечем ;)
myzone 26.01.2014 20:34 # 0
bormand 26.01.2014 21:31 # +1
Набор полей - фиксированный.
Типы - проверяются.
Флюент - при желании вполне реализуем.
Пока вижу только один плюс - заставляет заполнить все поля.
P.S. Ааа, чтобы перехватить установку значений и куда-то их передать...
myzone 27.01.2014 00:55 # 0
bormand 26.01.2014 22:16 # 0
bormand 26.01.2014 22:25 # 0
Теперь "поля" разных "структур" нельзя смешивать:http://ideone.com/eKPhPl
someone 27.01.2014 15:41 # +1
defecate-plusplus 27.01.2014 19:38 # +1
с клёвым пляжем и опасными аборигенами
myzone 27.01.2014 20:48 # 0
PS Лично я не одобряю такие, имплицитные типы - ладно, но методы - уже перебор
bormand 27.01.2014 21:04 # +2
myzone 27.01.2014 21:05 # 0
wvxvw 27.01.2014 23:59 # 0
myzone 28.01.2014 01:11 # 0
roman-kashitsyn 26.01.2014 17:32 # 0
anonimb84a2f6fd141 26.01.2014 20:25 # +1
.useAs("foo", Foo.class) ?
myzone 26.01.2014 20:28 # 0
myzone 26.01.2014 20:35 # 0
Lure Of Chaos 28.01.2014 00:11 # +2
myzone 28.01.2014 01:00 # 0
И да, фаз изначально было больше.
И вообще, я не тру, ибо считаю с единицы :(
myzone 28.01.2014 01:06 # 0
Lure Of Chaos 28.01.2014 01:13 # +1
myzone 28.01.2014 01:24 # 0
У тебя не получится вызвать build() без вызова as(), и не получится вызвать as() без вызова use(), так что этот вопрос решен
А вот вопрос того, что в списке типов важен порядок - реальная проблемка, если у кого есть решения буду рад выслушать.
PS тут IRC канала нет?
anonimb84a2f6fd141 30.01.2014 03:39 # +1
myzone 30.01.2014 04:50 # 0