/* * Copyright (c) 2014 EMC Corporation * All Rights Reserved */ package com.emc.storageos.vnxe.models; import org.codehaus.jackson.annotate.JsonIgnoreProperties; import org.codehaus.jackson.map.annotate.JsonDeserialize; import org.codehaus.jackson.map.annotate.JsonSerialize; @JsonIgnoreProperties(ignoreUnknown = true) @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) public class CifsShareACE { // Domain user or group Security Identifier (SID). private String sid; private int accessType; private int accessLevel; public String getSid() { return sid; } public void setSid(String sid) { this.sid = sid; } public int getAccessType() { return accessType; } public void setAccessType(int accessType) { this.accessType = accessType; } public int getAccessLevel() { return accessLevel; } public void setAccessLevel(int accessLevel) { this.accessLevel = accessLevel; } @JsonDeserialize(using = ACEAccessLevelEnumDeserializer.class) public static enum ACEAccessLevelEnum { READ(1), WRITE(2), FULL(4); private int value; private ACEAccessLevelEnum(int value) { this.value = value; } @org.codehaus.jackson.annotate.JsonValue public int getValue() { return this.value; } } public static enum ACEAccessTypeEnum { DENY, GRANT, NONE; } }