# Description of Layer Registrations in NetBeans APIs

Registration of various objects, files and hints into layer is pretty central to the way NetBeans based applications handle communication between modules. This page summarizes the list of such extension points defined by modules with API.

- Editors in editor/mimelookup

  `MimeLookup` module creates folder "Editors" in default layer filesystem since all mime types folders are expected to be located in this folder.

- ProjectTemplates in projects/projectuiapi

  New (or import) project wizards can be registered in a special folder `Templates/Projects/`.

- ProjectActions in projects/projectuiapi

  Providers of generic project actions can register `Action` and `JSeparator` instances in a special folder `Projects/Actions/`. So if any module wishes to extend, hide or reorder some of them it can just register its actions there. Example:

          <folder name="Projects" >
              <folder name="Actions" >
                  <file name="org-mymodule-MyAction.instance" >
                      <attr name="instanceCreate" stringvalue="org.mymodule.MyAction" />
                  </file>
              </folder>
          </folder>

- Templates in projects/projectuiapi

  File templates can be registered with various attributes, some specific to the project system.

- RuntimeInstancesRegistry in Settings

  xml/memory: Associates runtime instance with environment provider.

- ServicesDisplayRegistry in Settings

  UI/Services: The root folder for displaying options.

- user_settings in Common Palette

  There's a private XML file for user settings for each palette model.

- Loaders-folder-any-Actions in Loaders

  The actions that the default folder loader shows in its popup menu are read from a layer folder `Loaders/folder/any/Actions` so if any module wishes to extend, hide or reorder some of them it can just register its actions there.

- Loaders-text-xml-Actions in Loaders

  The actions that the standard XML loader shows in its popup menu are read from a layer folder `Loaders/text/xml/Actions`

- Loaders-content-unknown-Actions in Loaders

  The actions that the loader for unrecognized files shows in its popup menu are read from a layer folder `Loaders/content/unknown/Actions`

- Loaders-application-x-nbsettings-Actions in Loaders

  The actions that the loader for instance and settings files shows in its popup menu are read from a layer folder `Loaders/application/x-nbsettings/Actions`

- Loaders-folder-any-Actions in Loaders

  The actions that the default folder loader shows in its popup menu are read from a layer folder `Loaders/folder/any/Actions` so if any module wishes to extend, hide or reorder some of them it can just register its actions there.

- Loaders-text-xml-Actions in Loaders

  The actions that the standard XML loader shows in its popup menu are read from a layer folder `Loaders/text/xml/Actions`

- Loaders-content-unknown-Actions in Loaders

  The actions that the loader for unrecognized files shows in its popup menu are read from a layer folder `Loaders/content/unknown/Actions`

- Loaders-application-x-nbsettings-Actions in Loaders

  The actions that the loader for instance and settings files shows in its popup menu are read from a layer folder `Loaders/application/x-nbsettings/Actions`

- PrivilegedTemplates in Loaders

  A folder Privileged offers to other module possibility add own templates.

- RecentTemplates in Loaders

  A folder Recent stores a set of recently used templates, it's not open to other module.

- RuntimeInstancesRegistry in Settings

  xml/memory: Associates runtime instance with environment provider.

- ServicesDisplayRegistry in Settings

  UI/Services: The root folder for displaying options.

- NewConfigurationData in Window System

  new configuration data

- OldConfigurationData in Window System

  old configuration data

- ModuleDataStructure in Window System

  Module folder structure under Windows2 directory

- LocalDataStructure in Window System

  Local folder structure under Windows2Local directory

To get your API listed here, use `<api type='export' group='layer' ... />` in your module arch.xml document.