Skip to content

Commit 140e6ee

Browse files
gselzerctrueden
authored andcommitted
Add SciJava Struct README
1 parent fd713a6 commit 140e6ee

1 file changed

Lines changed: 17 additions & 0 deletions

File tree

scijava/scijava-struct/README.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Scijava Struct: A lightweight framework for collecting Members
2+
3+
This library provides a lightweight framework for collecting sets of typed fields. The project centers around two `Class`es:
4+
5+
## `Member`: A typed field
6+
7+
`Member`s enrich a generic `Type` with a collection of metadata (such as a name, a description, an I/O type, etc.)
8+
9+
## `Struct`: A collection of `Member`s
10+
11+
`Struct`s are nothing more than collections of `Member`s.
12+
13+
## So what? How is this useful?
14+
15+
While `Struct`s can be valuable in describing `Method`s, they can be particuarly useful when describing `Class`es and shine under a [Dependency Injection](https://en.wikipedia.org/wiki/Dependency_injection) paradigm. In such situations, we need a data structure to define **all** inputs to the injectable `Class`, be they constructor or `FunctionalInterface` arguments, or simply `Field`s that must be injected beforehand.
16+
17+
To see SciJava Struct in action, check out the SciJava Ops project!

0 commit comments

Comments
 (0)