陈清红
2025-04-14 880f3c0257eeb8c37761d484258fdd102a369a19
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Quintiq file version 2.0
#parent: #root
Method Read (LibOpt_Task task, JSON json) as stream[JSON]
{
  TextBody:
  [*
    result := emit( json );
    
    identifier := [String] this.InternalIdentifier();
    type := '';
    if( LibOpt_Message::TryGetType( json, type )
        and type.StartsWith( identifier ) )
    {
      message_type := type.SubString( identifier.Length(), type.Length() - identifier.Length() );
      message := select( this, DistributedMessage, dm, dm.Identifier() = message_type );
      if( not isnull( message ) )
      {
        unpacked := LibOpt_Message::Unpack( json, type );
        message.Read( task, unpacked );
        result := stream[JSON]::Success();
      }
    }
    
    return result;
  *]
  InterfaceProperties { Accessibility: 'Module' }
}