Package OpenCAGE.GIF.RFG.Factories

Class RFG_Model_Factory

extends OpenCAGE.GIF.Factories.Specific_Model_Factory

This class is used to open an RFG File, read its contents and build the appropriate objects. Thus, it knows all classes whose name ends with "_Model". Conversion between the data types provided by the RFG and that ones by Opencage has to be done somewhere between (eg instead of copy the nodes between the sets, create in hierarchy-set Nodes with Opencage Types).


private RFGs.RFG The_Rfg 

Pointer to the RFG.


public Boolean Is_Applicable( Ada.Strings.Unbounded.Unbounded_String Filename);

Returns true if this factory can handle the file specified by the given filename, false otherwise. Avoid to check to whole file within this method, some expect this to be a lightweight method (in terms of time and space). So check only the headers and some other characteristical properties of the file format (if possible). File corruption can be reported at Open_File(). [This description is adopted from 'OpenCAGE.GIF.Factories.Specific_Model_Factory'.]

public OpenCAGE.GIF.Root_Node_Models.Root_Node_Model Open_File( Ada.Strings.Unbounded.Unbounded_String Filename);

Opens the file specified by the given filename, creates a hierarchical interpretation and returns it. If the factory cannot handle this file (eg for file corruption), this procedure throws a "Invalid_File" Exception [This description is adopted from 'OpenCAGE.GIF.Factories.Specific_Model_Factory'.]