All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.sahagin.share.runresults.RunFailure Maven / Gradle / Ivy

There is a newer version: 0.10.1
Show newest version
package org.sahagin.share.runresults;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.sahagin.share.yaml.YamlUtils;
import org.sahagin.share.yaml.YamlConvertException;
import org.sahagin.share.yaml.YamlConvertible;

public class RunFailure implements YamlConvertible {
    private String message;
    // this is display only string, and the format is arbitrary
    private String stackTrace;
    // head element means stack top
    private List stackLines = new ArrayList(16);

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public String getStackTrace() {
        return stackTrace;
    }

    public void setStackTrace(String stackTrace) {
        this.stackTrace = stackTrace;
    }

    public List getStackLines() {
        return stackLines;
    }

    public void addStackLine(StackLine stackLine) {
        stackLines.add(stackLine);
    }

    @Override
    public Map toYamlObject() {
        Map result = new HashMap(4);
        result.put("message", message);
        result.put("stackTrace", stackTrace);
        result.put("stackLines", YamlUtils.toYamlObjectList(stackLines));
        return result;
    }

    @Override
    public void fromYamlObject(Map yamlObject)
            throws YamlConvertException {
        message = YamlUtils.getStrValue(yamlObject, "message");
        stackTrace = YamlUtils.getStrValue(yamlObject, "stackTrace");
        List> stackLinesYamlObj
        = YamlUtils.getYamlObjectListValue(yamlObject, "stackLines");
        stackLines = new ArrayList(stackLinesYamlObj.size());
        for (Map stackLineYamlObj : stackLinesYamlObj) {
            StackLine stackLine = new StackLine();
            stackLine.fromYamlObject(stackLineYamlObj);
            stackLines.add(stackLine);
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy