Skip to content

Commit

Permalink
super param and final toString
Browse files Browse the repository at this point in the history
  • Loading branch information
amihaiemil committed Apr 20, 2024
1 parent 3fe176a commit 6b19435
Show file tree
Hide file tree
Showing 5 changed files with 60 additions and 38 deletions.
16 changes: 16 additions & 0 deletions src/main/java/com/amihaiemil/eoyaml/BaseYamlMapping.java
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,22 @@
public abstract class BaseYamlMapping
extends BaseYamlNode implements YamlMapping {

/**
* Ctor.
*/
protected BaseYamlMapping() {
this(false);
}

/**
* Ctor.
* @param alwaysPrintBlock Print it as block with disregard to whether it
* came from JSON/Flow-Style or not.
*/
protected BaseYamlMapping(final boolean alwaysPrintBlock) {
super(alwaysPrintBlock);
}

@Override
public final Node type() {
return Node.MAPPING;
Expand Down
28 changes: 26 additions & 2 deletions src/main/java/com/amihaiemil/eoyaml/BaseYamlNode.java
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,28 @@
*/
abstract class BaseYamlNode implements YamlNode {

/**
* Print it as block with disregard to whether it came
* from JSON/Flow-Style or not.
*/
private final boolean alwaysPrintBlock;

/**
* Ctor.
*/
BaseYamlNode() {
this(false);
}

/**
* Ctor.
* @param alwaysPrintBlock Print it as block with disregard to whether it
* came from JSON/Flow-Style or not.
*/
BaseYamlNode(final boolean alwaysPrintBlock) {
this.alwaysPrintBlock = alwaysPrintBlock;
}

@Override
public final Scalar asScalar()
throws YamlReadingException, ClassCastException {
Expand Down Expand Up @@ -91,9 +113,11 @@ public final <T extends YamlNode> T asClass(final Class<T> clazz,
*
*/
@Override
public String toString() {
public final String toString() {
final StringWriter writer = new StringWriter();
final YamlPrinter printer = new RtYamlPrinter(writer);
final YamlPrinter printer = new RtYamlPrinter(
writer, this.alwaysPrintBlock
);
try {
printer.print(this);
return writer.toString();
Expand Down
16 changes: 16 additions & 0 deletions src/main/java/com/amihaiemil/eoyaml/BaseYamlSequence.java
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,22 @@
public abstract class BaseYamlSequence
extends BaseYamlNode implements YamlSequence {

/**
* Ctor.
*/
protected BaseYamlSequence() {
this(false);
}

/**
* Ctor.
* @param alwaysPrintBlock Print it as block with disregard to whether it
* came from JSON/Flow-Style or not.
*/
protected BaseYamlSequence(final boolean alwaysPrintBlock) {
super(alwaysPrintBlock);
}

@Override
public final Node type() {
return Node.SEQUENCE;
Expand Down
19 changes: 1 addition & 18 deletions src/main/java/com/amihaiemil/eoyaml/JsonYamlMapping.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,7 @@
*/
package com.amihaiemil.eoyaml;

import com.amihaiemil.eoyaml.exceptions.YamlPrintException;

import javax.json.JsonObject;
import java.io.IOException;
import java.io.StringWriter;
import java.util.LinkedHashSet;
import java.util.Set;

Expand All @@ -53,6 +49,7 @@ final class JsonYamlMapping extends BaseYamlMapping {
* @param object Json object being mapped.
*/
JsonYamlMapping(final JsonObject object) {
super(true);
this.object = object;
}

Expand Down Expand Up @@ -90,18 +87,4 @@ public String value() {
}
};
}

@Override
public String toString() {
final StringWriter writer = new StringWriter();
final YamlPrinter printer = new RtYamlPrinter(writer, true);
try {
printer.print(this);
return writer.toString();
} catch (final IOException ex) {
throw new YamlPrintException(
"IOException when printing YAML", ex
);
}
}
}
19 changes: 1 addition & 18 deletions src/main/java/com/amihaiemil/eoyaml/JsonYamlSequence.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,7 @@
*/
package com.amihaiemil.eoyaml;

import com.amihaiemil.eoyaml.exceptions.YamlPrintException;

import javax.json.JsonArray;
import java.io.IOException;
import java.io.StringWriter;
import java.util.Collection;
import java.util.stream.Collectors;

Expand All @@ -53,6 +49,7 @@ final class JsonYamlSequence extends BaseYamlSequence {
* @param array Json array being mapped.
*/
JsonYamlSequence(final JsonArray array) {
super(true);
this.array = array;
}

Expand All @@ -77,18 +74,4 @@ public String value() {
}
};
}

@Override
public String toString() {
final StringWriter writer = new StringWriter();
final YamlPrinter printer = new RtYamlPrinter(writer, true);
try {
printer.print(this);
return writer.toString();
} catch (final IOException ex) {
throw new YamlPrintException(
"IOException when printing YAML", ex
);
}
}
}

0 comments on commit 6b19435

Please sign in to comment.