Package io.github.qishr.cascara.common.lang.processor
Interface Serializer
java.lang.Object
io.github.qishr.cascara.common.lang.processor.Serializer
All Implemented Interfaces:
Processor
All Known Implementing Classes:
AbstractSerializer
public interface Serializer
Handles the transformation between Java Objects (POJOs) and the AST or textual formats.This interface provides a high-level API for data binding, allowing users to move seamlessly between raw objects, structured ASTs, and the final string output.
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
| public abstract String | toText(Object jvmInstance) | |
| public abstract void | toWriter(Object jvmInstance, Writer writer) | |
| public abstract N | toAst(Object jvmInstance) | Transforms a Java Object into an AST representation. |
| public abstract C | fromText(String text, Class |
|
| public abstract C | fromText(String text, TypeReference |
|
| public abstract C | fromReader(Reader reader, Class |
|
| public abstract C | fromReader(Reader reader, TypeReference |
|
| public abstract C | fromStream(InputStream is, Class |
|
| public abstract C | fromStream(InputStream is, TypeReference |
|
| public abstract C | fromAst(N astNode, Class |
Transforms an AST representation back into a specific Java type. |
| public abstract C | fromAst(N astNode, TypeReference |
|
| public abstract Serializer |
registerTypeDescriptor(TypeDescriptor<?> typeDescriptor) | |
| public abstract Serializer |
setParser(AstParser |
Method Details
toText
public abstract String toText(Object jvmInstance)
Parameters:
jvmInstance - The object to serialize.
Returns:
The formatted string (e.g., YAML or JSON).
Throws:
toWriter
public abstract void toWriter(Object jvmInstance, Writer writer)
Throws:
toAst
public abstract N toAst(Object jvmInstance)
Transforms a Java Object into an AST representation.
Parameters:
jvmInstance - The POJO or collection to transform.
Returns:
An AST representation of the provided object.
fromText
public abstract C fromText(String text, Class
Parameters:
text - The source text to parse and deserialize.
jvmType - The target type.
Returns:
A populated instance of the requested class.
Throws:
fromText
public abstract C fromText(String text, TypeReference
Throws:
fromReader
public abstract C fromReader(Reader reader, Class
Throws:
fromReader
public abstract C fromReader(Reader reader, TypeReference
Throws:
fromStream
public abstract C fromStream(InputStream is, Class
Throws:
fromStream
public abstract C fromStream(InputStream is, TypeReference
Throws:
fromAst
public abstract C fromAst(N astNode, Class
Transforms an AST representation back into a specific Java type.
Parameters:
astNode - The root AST node to interpret.
jvmType - The target type to instantiate and populate.
Returns:
A populated instance of the requested class.
fromAst
public abstract C fromAst(N astNode, TypeReference
registerTypeDescriptor
public abstract Serializer
setParser
public abstract Serializer