package valandur.webapi.cache.misc;

import org.spongepowered.api.event.cause.Cause;
import valandur.webapi.WebAPI;
import valandur.webapi.api.cache.CachedObject;
import valandur.webapi.util.Util;

import java.util.HashMap;
import java.util.Map;

public class CachedCause extends CachedObject<Cause> {

    private Map<String, Object> causes = new HashMap<>();
    public Map<String, Object> getCauses() {
        return causes;
    }


    public CachedCause(Cause cause) {
        super(cause);

        for (Map.Entry<String, Object> entry : cause.getNamedCauses().entrySet()) {
            String key = Util.lowerFirst(entry.getKey());
            causes.put(key, WebAPI.getCacheService().asCachedObject(entry.getValue()));
        }
    }
}

@@ -28,24 +28,76 @@
 he.misc;%0D%0A%0D%0A
+import com.fasterxml.jackson.annotation.JsonValue;%0D%0A
 import org.s
@@ -129,24 +129,24 @@
 use.Cause;%0D%0A
-
 import valan
@@ -213,16 +213,67 @@
 bject;%0D%0A
+import valandur.webapi.api.serialize.JsonDetails;%0D%0A
 import v
@@ -305,35 +305,8 @@
 %0D%0A%0D%0A
-import java.util.HashMap;%0D%0A
 impo
@@ -392,61 +392,58 @@
     
-private Map%3CString, Object%3E causes = new HashMap%3C%3E();
+@Override%0D%0A    @JsonValue%0D%0A    @JsonDetails(false)
 %0D%0A  
@@ -474,22 +474,20 @@
 ect%3E get
-Causes
+Data
 () %7B%0D%0A  
@@ -499,22 +499,31 @@
  return 
-causes
+super.getData()
 ;%0D%0A    %7D
@@ -526,18 +526,16 @@
    %7D%0D%0A%0D%0A
-%0D%0A
     publ
@@ -750,14 +750,12 @@
     
-causes
+data
 .put

Fix cached cause