| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| tsl3-beanui-core-0.0.2-SNAPSHOT.jar | 2026-04-26 | 228.2 kB | |
| README.md | 2026-04-19 | 4.9 kB | |
| Totals: 2 Items | 233.1 kB | 119 | |
minimized bean dynamizer and parser
provides a bean framework to be involved by dynamic web applications.
reference project: tsl3.beanui (generic bean/entity, server side rendered, single page web application)
features
- persistable (json/xml/yaml) bean attributes/properties, presentation and actions
- configurable attributes
- order (predefined to type (container/data/simple) and name)
- id attribute
- constraints
- presenter (with table column definitions)
- configurable value expression as string representation (able to parse human readable strings to entities)
- presentable entity actions through method prefix or annoation
- plugins on bean and attributes to define external behavour through annotations
Example:
{
"id": "de.tsl3.beanui.entities.User",
"name": "User",
"type": { "name": "de.tsl3.beanui.entities.User" },
"idAttribute": {
"name": "id",
"declaringType": "java.lang.Class@1",
"constraints": {
"type": { "name": "long" },
"id": true,
"required": false
},
"presenter": {
"label": "id",
"description": "id",
"icon": "/id.png",
"elementType": "input",
"subType": "number",
"width": 1,
"height": 1,
"enabled": true,
"enabledFor": ".*",
"visible": true,
"visibleFor": ".*",
"column": {
"index": 0,
"sortIndex": 0,
"isUpDirection": true,
"isVisible": true,
"isSearchable": true
}
}
},
"valueExpression": {},
"presenter": {
"label": "User",
"description": "User",
"icon": "/user.png",
"elementType": "select",
"subType": "text",
"width": 1,
"height": 1,
"enabled": true,
"enabledFor": ".*",
"visible": true,
"visibleFor": ".*"
},
"attributes": [
"de.tsl3.beanui.core.BeanUI$MemberUI@2",
{
"name": "name",
"declaringType": "java.lang.Class@1",
"constraints": {
"type": { "name": "java.lang.String" },
"id": false,
"required": false
},
"presenter": {
"label": "name",
"description": "name",
"icon": "/name.png",
"elementType": "input",
"subType": "text",
"width": 1,
"height": 1,
"enabled": true,
"enabledFor": ".*",
"visible": true,
"visibleFor": ".*",
"column": {
"index": 1,
"sortIndex": 1,
"isUpDirection": true,
"isVisible": true,
"isSearchable": true
}
}
},
{
"name": "role",
"declaringType": "java.lang.Class@1",
"constraints": {
"type": { "name": "de.tsl3.beanui.entities.Role" },
"id": false,
"required": false
},
"presenter": {
"label": "role",
"description": "role",
"icon": "/role.png",
"elementType": "input",
"subType": "list",
"width": 1,
"height": 1,
"enabled": true,
"enabledFor": ".*",
"visible": true,
"visibleFor": ".*",
"column": {
"index": 2,
"sortIndex": 2,
"isUpDirection": true,
"isVisible": true,
"isSearchable": true
}
}
},
{
"name": "children",
"declaringType": "java.lang.Class@1",
"constraints": {
"type": { "name": "java.util.Collection" },
"id": false,
"required": false
},
"presenter": {
"label": "children",
"description": "children",
"icon": "/children.png",
"elementType": "textarea",
"subType": "text",
"width": 1,
"height": 1,
"enabled": false,
"enabledFor": ".*",
"visible": true,
"visibleFor": ".*",
"column": {
"index": 3,
"sortIndex": 3,
"isUpDirection": true,
"isVisible": false,
"isSearchable": false
}
}
},
{
"name": "properties",
"declaringType": "java.lang.Class@1",
"constraints": {
"type": { "name": "java.util.Map" },
"id": false,
"required": false
},
"presenter": {
"label": "properties",
"description": "properties",
"icon": "/properties.png",
"elementType": "textarea",
"subType": "text",
"width": 1,
"height": 1,
"enabled": false,
"enabledFor": ".*",
"visible": true,
"visibleFor": ".*",
"column": {
"index": 4,
"sortIndex": 4,
"isUpDirection": true,
"isVisible": false,
"isSearchable": false
}
}
}
]
}