Database: Difference between revisions

From Event-B
Jump to navigationJump to search
imported>Son
No edit summary
imported>Jrloria
Line 10: Line 10:


  import org.rodinp.core.RodinCore;
  import org.rodinp.core.RodinCore;
import org.rodinp.core.IRodinDB;
  ...
  ...
  IRodinDB rodinDB = RodinCore.getRodinDB();
  IRodinDB rodinDB = RodinCore.getRodinDB();

Revision as of 14:28, 30 May 2009

This page described the rodin database API. TODO: by someone knowing the internals of rodin. Describe the database API

The database API is located in the

org.rodinp.core

in the

org.rodinp.core

plug-in.

The common interface for all dtabase elements is IRodinElement.

IRodinDB

Getting the Rodin Database

import org.rodinp.core.RodinCore;
import org.rodinp.core.IRodinDB;
...
IRodinDB rodinDB = RodinCore.getRodinDB();

IRodinProject

From Rodin database to get Rodin project(s)

  • Get the list of Rodin projects in the Rodin database.
IRodinProject [] rodinProjects = rodinDB.getRodinProjects();
  • Get a Rodin project by name
IRodinProject rodinProject = rodinDB.getRodinProject(name);

IRodinFile

From the Rodin project to get Rodin file(s)

  • Get the list of Rodin files in a Rodin project
IRodinFile[] getRodinFiles() throws RodinDBException;
  • Get a Rodin file by name
IRodinFile getRodinFile(String fileName);

IInternalElement

  • Get the root element corresponding to a Rodin file.
IInternalElement rootElement = rodinFile.getRoot();


IEventBProject

Getting an Event-B Project from a Rodin Project.

IEventBProject eventBProject = rodinProject.getAdapter(IEventBProject.class);


IRodinElement

IMachineRoot

  • Get a machine root by name
IMachineRoot machineRoot = (IMachineRoot) eventBProject.getMachineFile(name).getRoot();