X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.api%2Fsrc%2Forg%2Fargeo%2Fapi%2Fcms%2FCmsSessionId.java;fp=org.argeo.api%2Fsrc%2Forg%2Fargeo%2Fapi%2Fcms%2FCmsSessionId.java;h=0e477895390c98376f13651834d5bf16abfbe2c7;hb=b7683883512d924a039a43c2e1102290aa49f64d;hp=0000000000000000000000000000000000000000;hpb=03f646fd0d7e7ce393694c836c779bc67a4eef55;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.api/src/org/argeo/api/cms/CmsSessionId.java b/org.argeo.api/src/org/argeo/api/cms/CmsSessionId.java new file mode 100644 index 000000000..0e4778953 --- /dev/null +++ b/org.argeo.api/src/org/argeo/api/cms/CmsSessionId.java @@ -0,0 +1,39 @@ +package org.argeo.api.cms; + +import java.util.UUID; + +import javax.security.auth.Subject; + +/** + * The ID of a {@link CmsSession}, which must be available in the private + * credentials of an authenticated {@link Subject}. + */ +public class CmsSessionId { + private final UUID uuid; + + public CmsSessionId(UUID value) { + if (value == null) + throw new IllegalArgumentException("Value cannot be null"); + this.uuid = value; + } + + public UUID getUuid() { + return uuid; + } + + @Override + public int hashCode() { + return uuid.hashCode(); + } + + @Override + public boolean equals(Object obj) { + return obj instanceof CmsSessionId && ((CmsSessionId) obj).getUuid().equals(uuid); + } + + @Override + public String toString() { + return "Node Session " + uuid; + } + +}