Overview Schemas Index

REPRESENTATION_SCHEMA (jsdai.SRepresentation_schema)


FUNCTION acyclic_mapped_representation
          (parent_set : SET [0:?] OF representation, children_set : SET [0:?] OF representation_item) : BOOLEAN;

 LOCAL x , y : SET OF representation_item ; END_LOCAL ; x := QUERY  ( z <* children_set | 'representation_schema.mapped_item' IN  TYPEOF  ( z ) ) ; IF  SIZEOF  ( x ) > 0 THEN  REPEAT  i := 1 TO  HIINDEX  ( x ) ; IF  x [ i ] \ mapped_item . mapping_source . mapped_representation IN  parent_set THEN  RETURN  ( FALSE  ) ; END_IF  ; IF  NOT  acyclic_mapped_representation ( parent_set + x [ i ] \ mapped_item . mapping_source . mapped_representation , x [ i ] \ mapped_item . mapping_source . mapped_representation . items ) THEN  RETURN  ( FALSE  ) ; END_IF  ; END_REPEAT  ; END_IF  ; x := children_set - x ; IF  SIZEOF ( x ) > 0 THEN  REPEAT i := 1 TO HIINDEX ( x ) ; y := QUERY ( z <* bag_to_set ( USEDIN ( x [ i ] , '' ) ) | 'representation_schema.representation_item' IN TYPEOF ( z ) ) ; IF NOT acyclic_mapped_representation ( parent_set , y ) THEN RETURN  ( FALSE ) ; END_IF  ; END_REPEAT ; END_IF ; RETURN ( TRUE ) ; 

END_FUNCTION; -- acyclic_mapped_representation

public class FAcyclic_mapped_representation
          public static Value run(SdaiContext _context, Value parent_set, Value children_set)