https://github.com/webbeta/serializer
Framework agnostic YAML based serializer for Java.
https://github.com/webbeta/serializer
agnostic-to-frameworks java serializer yml
Last synced: 3 months ago
JSON representation
Framework agnostic YAML based serializer for Java.
- Host: GitHub
- URL: https://github.com/webbeta/serializer
- Owner: webbeta
- License: mit
- Created: 2018-05-13T10:15:57.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2023-04-26T04:56:31.000Z (about 3 years ago)
- Last Synced: 2025-08-02T10:36:38.497Z (11 months ago)
- Topics: agnostic-to-frameworks, java, serializer, yml
- Language: Java
- Homepage:
- Size: 96.7 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 26
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# webBeta Serializer
[](https://travis-ci.org/webbeta/Serializer)
[](https://codecov.io/gh/webbeta/Serializer)
[](https://app.codacy.com/app/mowcixo/Serializer?utm_source=github.com&utm_medium=referral&utm_content=webbeta/Serializer&utm_campaign=Badge_Grade_Settings)
[](https://scrutinizer-ci.com/g/webbeta/Serializer/?branch=master)
[](LICENSE)
[](http://mvnrepository.com/artifact/es.webbeta/serializer)
[](https://lgtm.com/projects/g/webbeta/Serializer/alerts/)
[](https://lgtm.com/projects/g/webbeta/Serializer/context:java)
* [What is webBeta Serializer?](#what-is-webbeta-serializer?)
* [Quick examples](#quick-examples)
* [License](#license)
## What is webBeta Serializer?
YML based serializer for Java. Based on JMS serializer https://jmsyst.com/libs/serializer/master/reference/yml_reference
To create a Serializer instance:
```java
Cache cache = new Cache() {
@Override
public String get(String key) { return null; }
@Override
public void set(String key, String content) {}
@Override
public void remove(String key) {}
};
ConfigurationProvider configurationProvider = new ConfigurationProvider() {
@Override
public boolean getBoolean(String key, boolean defaultValue) { return true; }
@Override
public String getString(String key, String defaultValue) { return ""; }
};
Environment environment = () -> false;
Serializer serializer = SerializerBuilder.build()
.withCache(cache)
.withConfigurationProvider(configurationProvider)
.withEnvironment(environment)
.get();
```
And to add a logger instance:
```java
Logger logger = new Logger() {
@Override
public Level getLevel() { return Level.ERROR; }
@Override
public void setLevel(Level level) { }
@Override
public void error(String message) { }
};
serializer.setLogger(logger);
```
## Quick examples
Class Foo:
```java
package foo.bar;
class Foo {
private String bar = "foobar";
public String getBar() {
return bar;
}
public Long getCalc() {
return 2 + 2;
}
}
```
Yml file (named ```foo.bar.Foo.yml```):
```yaml
foo.bar.Foo:
virtual_properties:
getCalc:
serialized_name: calc
groups: [barGroup]
properties:
bar:
groups: [fooGroup]
```
Usage:
```java
serializer.serialize(fooInstance, "fooGroup", "barGroup");
// it will return
// {"bar": "foobar", "calc": 4}
```
## License
[MIT](LICENSE)