Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "E4/Resources/Semantic File System/Where to Look at First"

(New page: Semantic File System implementation consists of following Eclipse Plugins:  *'''org.eclipse.core.resources.semantic ''' **internal implementation *'''org.eclipse.core.resources...)
 
 
(One intermediate revision by the same user not shown)
Line 2: Line 2:
  
 
*'''org.eclipse.core.resources.semantic '''
 
*'''org.eclipse.core.resources.semantic '''
**internal implementation
+
**contains SFS implementation as well as API to be used by tools and SPI for writing own content providers
*'''org.eclipse.core.resources.semantic.api'''
+
*'''org.eclipse.ui.resources.semantic '''
**API to be used by tools
+
**Team UI contributions (Team menu items, Label Decorator, Property Page etc)
*'''org.eclipse.core.resources.semantic.spi '''
+
**SPI for writing own content providers
+
*'''org.eclipse.core.resources.semantic.shared'''
+
**shared code used both by API and SPI
+
*'''org.eclipse.core.resources.semantic.ui '''
+
**Team&UI contributions (Team menu items, Label Decorator, Property Page etc)
+
 
*'''org.eclipse.core.resources.semantic.examples '''
 
*'''org.eclipse.core.resources.semantic.examples '''
 
**Examples of content providers, demo wizards etc
 
**Examples of content providers, demo wizards etc
 
*'''org.eclipse.core.resources.semantic.test'''  
 
*'''org.eclipse.core.resources.semantic.test'''  
 
**JUnit tests
 
**JUnit tests
*'''org.eclipse.e4.demo.e4photo'''  
+
*'''org.eclipse.e4.demo.e4photo.withSFS'''  
**Modified e4 0.9 Photo Demo that runs on top of SFS<br>
+
**Addon to e4 Photo Demo that adds resource handling that runs on top of SFS<br>
  
 
The Java package '''org.eclipse.core.resources.semantic.api '''contains API interfaces and classes to be used by tools in order to manipulate semantic resource tree. The most important ones are:  
 
The Java package '''org.eclipse.core.resources.semantic.api '''contains API interfaces and classes to be used by tools in order to manipulate semantic resource tree. The most important ones are:  
Line 22: Line 16:
 
*ISemanticResource  
 
*ISemanticResource  
 
*ISemanticFile  
 
*ISemanticFile  
*ISemanticFolder
+
*ISemanticFolder  
 +
*ISemanticFileSystem
  
 
The Java package '''org.eclipse.core.resources.semantic.spi '''contains SPI interfaces and classes to be used for implementation of own content providers. The most important ones are:  
 
The Java package '''org.eclipse.core.resources.semantic.spi '''contains SPI interfaces and classes to be used for implementation of own content providers. The most important ones are:  
Line 34: Line 29:
 
*CachingContentProvider  
 
*CachingContentProvider  
 
**base class to be subclassed by all content providers that support local caching of content
 
**base class to be subclassed by all content providers that support local caching of content
 +
 +
The following class diagram provides an rouch overview over dependencies between main classes and interfaces of SFS:&nbsp;[[Image:SFSClassDiagram.png]]

Latest revision as of 17:38, 10 February 2010

Semantic File System implementation consists of following Eclipse Plugins: 

  • org.eclipse.core.resources.semantic
    • contains SFS implementation as well as API to be used by tools and SPI for writing own content providers
  • org.eclipse.ui.resources.semantic
    • Team UI contributions (Team menu items, Label Decorator, Property Page etc)
  • org.eclipse.core.resources.semantic.examples
    • Examples of content providers, demo wizards etc
  • org.eclipse.core.resources.semantic.test
    • JUnit tests
  • org.eclipse.e4.demo.e4photo.withSFS
    • Addon to e4 Photo Demo that adds resource handling that runs on top of SFS

The Java package org.eclipse.core.resources.semantic.api contains API interfaces and classes to be used by tools in order to manipulate semantic resource tree. The most important ones are:

  • ISemanticResource
  • ISemanticFile
  • ISemanticFolder
  • ISemanticFileSystem

The Java package org.eclipse.core.resources.semantic.spi contains SPI interfaces and classes to be used for implementation of own content providers. The most important ones are:

  • ISemanticContentProvider
    • defines contract to be fulfilled by content provider, the interface should not be implemented directly
  • ContentProvider
    • base class for all content providers, MUST be subclassed instead of implementing ISemanticContentProvider (in order to provide ability to introduce new methods without
      affecting existing code)
  • ISemanticFileStore
    • callback API of a file store to be called by content providers in order to manipulate semantic resource tree
  • CachingContentProvider
    • base class to be subclassed by all content providers that support local caching of content

The following class diagram provides an rouch overview over dependencies between main classes and interfaces of SFS: SFSClassDiagram.png

Back to the top