Как стать автором
Обновить
4
0

Пользователь

Отправить сообщение
Я знаю много сериализаций, поэтому когда не оговаривается специально, я подразумеваю что речь идет о стандартной сериализации.

Если же вы имели ввиду сериализацию в текст то ini это текст и смысл вашего комментария становится совсем туманным.
Отличная идея. Придется правда пользователей научить править бинарный файл с сериализованными объектами. Но ничего, они вытерпят.
Ну это же только минимальный пример. Или вы считаете что стримы сложнее в принципе и использовать их не стоит?
Точно, я припоминаю эти слова. Я недолго там пробыл поэтому детали сразу не вспомнил.
Вроде да.

Выглядит это вот так:

ISA*00* *00* *01*9012345720000 *01*9088877320000 *100822*1134*U*00200*000000007*0*T*:~
GS*HC*901234572000*908887732000*20100822*1615*7*X*005010X222~ ST*837*0007*005010X222~
BHT*0019*00*123BATCH*20100822*1615*CH~
NM1*41*2*ABC CLEARINGHOUSE*****46*123456789~
PER*IC*WILMA FLINTSTONE*TE*9195551111~
NM1*40*2*BCBSNC*****46*987654321~
HL*1**20*1~
NM1*85*1*SMITH*ELIZABETH*A**M.D.*XX*0123456789~
N3*123 MUDD LANE~
N4*DURHAM*NC*27701~
REF*EI*123456789~
HL*2*1*22*0~
SBR*P*18*ABC123101******BL~
NM1*IL*1*DOUGH*MARY*B***MI*24670389600~
N3*P O BOX 12312~
N4*DURHAM*NC*27715~
DMG*D8*19670807*F~
NM1*PR*2*BCBSNC*****PI*987654321~
CLM*PTACCT2235057*100.5***11::1*Y*A*Y*N~
REF*EA*MEDREC11111~
HI*BK:78901~
LX*1~
SV1*HC:99212*100.5*UN*1*12**1**N~
DTP*472*D8*20100801~
SE*24*0007~
GE*1*7~
IEA*1*000000007~

Вот у меня есть имя сегмента NM1 это может быть именем пациента, именем доктора или именем лаборанта в зависимости от вторичной структуры (У меня это медицинские данные были).

Апостроф? У меня разделители были другие. Хотя они там могут быть любыми.

Я бизнес логикой вообще не занимался. Моя задача была все это в доменную модель смапить.
Простым сплитом можно получить список элементов. А чтобы восстановить структуру нужно знать какие есть группы и из каких элементов они состоят. Произвольную вложенность он не поддерживает.

Хотя это было давно и поверхностно, может я чего и упустил.
Я писал парсер этого чуда. Его нельзя распарсить без словаря. А так как это семейство форматов, то на каждый случай свой словарь.

Если хочется пропустить группу, то нужно ее полностью распарсить.

Там конечно есть элементы для структуры, но я так и не понял зачем они нужны.
Таких протоколов/форматов данных полно. Есть еще UN/EDIFACT. Не абы кто, а спасители человечества из самого ООН придумали.
У вас два родителя? Привилегированный обниматель.
Подтверждаю HAPI — это стон что здесь песней зовется.
Он конечно упустил необходимость константы (true в случае NAND и false в случае NOR) но это объяснимо так как константы обычно бесплатны.

Или вы что-то другое имели ввиду?
Нет. Я возможно не очень хорошо объяснил, но скрывать что либо не было моим намерением.
Наверное.
Но я не мог этого сделать, потому что не знал всех ограничений которые к этому коду прилагаются (точнее я не был на сто процентов уверен что их не побороли).

А так-же хотел чтобы приверженцы корутин сами признали их ограниченность.
У меня второй случай. Либа выполняет этот Runnable в том же потоке.
Только кто этим будет заниматься?
Так вся суть моей либы в том что бизнеслогика должна быть внутри Runnable. И выбор у меня такой: использовать корутины или использовать либу.
И понятно что я выберу потому что «а кота этого я в первый раз вижу».
Согласен, но при этом корутины применить не получится пока асинхронная библиотека не начнет их поддерживать, что случится примерно никогда.
Ну так я же не просто так этот Runnable передаю. В нем у меня бизнеслогика и хочется чтобы она продолжала работать, но с корутинами это не получится.
Потому что они не будут работать вместе с корутинами.

Любая либа которая использует блокирующие вызовы (а это значит все кто лезут в базу или отправляют/принимают запросы по сети или просто используют синхронизацию) просто заблокирует поток и корутины ни как не помогут.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность