Package org.jetbrains.mps.openapi.module
Interface SModuleFacet
-
- All Superinterfaces:
DetachableFacet
public interface SModuleFacet extends DetachableFacet
Facets allow to store language or feature-specific settings on a module-level. Every facet has a language it is associated with. Facets are of differentkind
, each module may host at most one facet instance of each kind. All facets associated with the used languages in a module are automatically instantiated and added to the module. Facets persist their relevant settings usingMemento
which generally ends up in a module descriptor. NOTE, facets shall not depend onModuleFacetDescriptor
, their interface to outer world is bound toMemento
only. For read-only modules, facets are not expected to change/persist settings.- See Also:
FacetsFacade
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default void
attach(SModule module)
default void
detach()
#getModule will return null after this invocationString
getFacetType()
Identity of the facet, seeFacetsFacade.getFacetFactory(String)
SModule
getModule()
The owning modulevoid
load(Memento memento)
Allows the model root to read its previously saved configuration informationvoid
save(Memento memento)
Gives the module facet the opportunity to persist into the supplied memento whatever configuration information may be needed to restore the models in the future.-
Methods inherited from interface org.jetbrains.mps.openapi.module.DetachableFacet
isAttached
-
-
-
-
Method Detail
-
getFacetType
@NotNull String getFacetType()
Identity of the facet, seeFacetsFacade.getFacetFactory(String)
- Returns:
- kind of the facet
-
getModule
@Nullable SModule getModule()
Description copied from interface:DetachableFacet
The owning module- Specified by:
getModule
in interfaceDetachableFacet
- Returns:
- the module which is hosting this facet. it is allowed to be detached from the module, so null can be seen here.
-
save
void save(@NotNull Memento memento)
Gives the module facet the opportunity to persist into the supplied memento whatever configuration information may be needed to restore the models in the future.
-
load
void load(@NotNull Memento memento)
Allows the model root to read its previously saved configuration information
-
attach
default void attach(@NotNull SModule module)
- Specified by:
attach
in interfaceDetachableFacet
- Parameters:
module
- will be returned from #getModule afterwards
-
detach
default void detach()
Description copied from interface:DetachableFacet
#getModule will return null after this invocation- Specified by:
detach
in interfaceDetachableFacet
-
-