


Files in each layer are placed into a name space using settings in that layer (e.g. a package prefix may be added, html files placed in the web directory). Files in a subsequent layer with the same name will replace, or modify the previous one. Formats like sc, sct, and schtml support a type-safe 'modify type' operation by merging the source files using the code-processor. This operation changes the original type: adding fields, overriding methods, setting properties.
The combined result is saved in a typical project directory that's compiled and run. Learn more.





Layers support package install/update for maven and other package formats. They define new file formats, directory structure for downstream layers, add code-processors, modify Java types with layers.
As a project grows in size, layers offer refactoring freedom. A large type that has accumulated dependencies can be split into multiple layers, merged back again without changing the generated code. Those parts of that same type can be used in another process - e.g. a new mobile UI, or back-end service.

StrataCode is open source, readable code. Great for framework developers, or beginners wanting to build code processors.
Read more in the introduction.