Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| org.netbeans.api.mdr/1 1.4.22
PREV NEXT | FRAMES NO FRAMES

# NetBeans MDR API

There are two kinds of API classes exposed by MDR: The reflective JMI API and JMI interfaces generated for MOF metamodel.

See:
Description

MDR API
org.netbeans.api.mdr | API classes and interfaces that serve as an entry point to a metadata repository.
org.netbeans.api.mdr.events |
org.netbeans.api.xmi | API classes and interfaces that are used for import/export of XMI documents into/from a JMI-compliant repository.
org.netbeans.api.xmi.sax |

There are two kinds of API classes exposed by MDR:

- The reflective JMI API and JMI interfaces generated for MOF metamodel. These are located in javax.jmi package.
- Proprietary MDRAPI classes exposing additional functionality not standardized by JMI (even notifications mechanism, concept of a repository, JMI mapper, etc.)

By MDR a new kind of API is introduced - JMI interfaces generated from a given metamodel. Since it is expected that the number of NetBeans modules that will use MOF metamodels and JMI API generated from them to manage metadata, it is desirable to establish come conventions for where the generated API should be located (in what packages), where custom implementations of those metamodels should be and some other concepts like naming of metamodels and repositories. Suggested target package for metamodel specific JMI interfaces is org.netbeans.jmi.

### What is New (see all changes)?

- Jan 28 '05 API and SPI finalized.

  VetoChangeException added to allow vetoable "preChange" events. The exception can be thrown from MDRPreChangeListener.plannedChange().

- May 2 '04 Deprecated API removed.

  Deprecated API classes (org.netbeans.api.mdr.XMIReader and org.netbeans.api.mdr.XMIWriter) removed.

- Nov 18 '02 New methods added to XMIOutputConfig.

  getEncoding and setEncoding abstract methods were added to XMIOutputConfig

- Sep 20 '02 JMIMapper.JMIStreamFactory was moved from JMIMapper and extended.

  JMIStreamFactory was made a regular class (as opposed to being innerclass of JMIMapper). It was changed from interface to abstract class and a new method was added with additional parameter to enable specifying file extension for the generated data.

- Aug 11 '02 XMIReader and XMIWriter made deprecated, added new XMI API package.

  Old org.netbeans.api.mdr.XMIReader and XMIWriter classes were made deprecated as the new refactored XMI API was created in org.netbeans.api.xmi package.

### Use Cases

The MDR should be used for data-integration accross different modules in the IDE. An example usecase can be found at http://mdr.netbeans.org/example.html. Basic usecases can also be found in the overview of individual API packages in javadoc.

### Exported Interfaces

This table lists all of the module exported APIs with defined stability classifications. It is generated based on answers to questions about the architecture of the module. Read them all...

##### Group of java interfaces

Interface Name | In/Out | Stability | Specified in What Document?
MDRAPI | Exported | Stable |
OMG-Meta-Object-Facility | Exported | Standard | .../technology/documents/formal/mof.htm
OMG-XML-Metadata-Interchange | Exported | Standard | .../technology/documents/formal/xmi.htm
JSR-40-Java-Metadata-Interface | Exported | Standard | http://java.sun.com/products/jmi

##### Group of property interfaces

Interface Name | In/Out | Stability | Specified in What Document?
org.netbeans.mdr.persistence.btreeimpl.btreestorage.MDRCache.threshhold | Exported | Private |
storage | Exported | Private |
org.netbeans.mdr.persistence.btreeimpl.uuid | Exported | Private |
org.netbeans.mdr.persistence.btreeimpl.filename | Exported | Private |
org.netbeans.mdr.persistence.memoryimpl.id | Exported | Private |
org.netbeans.mdr.persistence.memoryimpl.fileName | Exported | Private |

##### Group of java.io.File interfaces

Interface Name | In/Out | Stability | Specified in What Document?
Btree-files | Exported | Private | For every storage the b-tree database creates two permanent files - index file (*.btx) and data file (*.btd). When modifying data in the database the b-tree creates an additional backup file (*.btb), which is deleted when the database is shutdown.

### Implementation Details

##### What do other modules need to do to declare a dependency on this one?

OpenIDE-Module-Module-Dependencies: org.netbeans.api.mdr/1 OpenIDE-Module-Requires: org.netbeans.api.mdr.MDRManager

Read more about the implementation in the answers to architecture questions.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| org.netbeans.api.mdr/1 1.4.22
PREV NEXT | FRAMES NO FRAMES

Built on December 7 2006. | Portions Copyright 1997-2005 Sun Microsystems, Inc. All rights reserved.