X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=security%2Fruntime%2Forg.argeo.security.core%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fsecurity%2FUserNature.java;h=e2487b9ba7051b36b6a54d6d78a4c67dc585e85d;hb=62a87e0195f69747aa5168ebecfebd8626442ba8;hp=eceed398005fb04b3075341ce7565e59568a60c3;hpb=79a21ae370e28068f19913f65262691f38088c0c;p=lgpl%2Fargeo-commons.git diff --git a/security/runtime/org.argeo.security.core/src/main/java/org/argeo/security/UserNature.java b/security/runtime/org.argeo.security.core/src/main/java/org/argeo/security/UserNature.java index eceed3980..e2487b9ba 100644 --- a/security/runtime/org.argeo.security.core/src/main/java/org/argeo/security/UserNature.java +++ b/security/runtime/org.argeo.security.core/src/main/java/org/argeo/security/UserNature.java @@ -1,5 +1,50 @@ package org.argeo.security; -public interface UserNature { +import java.util.UUID; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.codehaus.jackson.annotate.JsonAnySetter; +import org.codehaus.jackson.annotate.JsonAutoDetect; +import org.codehaus.jackson.annotate.JsonCreator; +import org.codehaus.jackson.annotate.JsonMethod; + +//@JsonAutoDetect(value = { JsonMethod.GETTER, JsonMethod.SETTER }) +public class UserNature { + private final static Log log = LogFactory.getLog(UserNature.class); + + private String uuid = UUID.randomUUID().toString(); + private String type; + + public String getUuid() { + return uuid; + } + + public void setUuid(String uuid) { + this.uuid = uuid; + } + + public String getType() { + if (type != null) + return type; + else + return getClass().getName(); + } + + public void setType(String type) { + this.type = type; + } + + @JsonAnySetter + public void anySetter(String key, Object obj) { + if (obj != null) + log.info("anySetter: " + key + "=" + obj + " (" + obj.getClass() + + "), natureType=" + type); + } + + @JsonCreator + public static Object valueOf(String str) { + log.info("create: " + str); + return new UserNature(); + } }