package com.orientechnologies.orient.core.metadata.security;
import com.orientechnologies.orient.core.db.record.OIdentifiable;
import com.orientechnologies.orient.core.record.impl.ODocument;
import java.io.Serializable;
import java.util.Set;
/**
* @author Andrey Lomakin (a.lomakin-at-orientechnologies.com)
* @since 03/11/14
*/
public interface OSecurityRole extends Serializable {
public enum ALLOW_MODES {
DENY_ALL_BUT, ALLOW_ALL_BUT
}
public boolean allow(final ORule.ResourceGeneric resourceGeneric, String resourceSpecific, final int iCRUDOperation);
public boolean hasRule(final ORule.ResourceGeneric resourceGeneric, String resourceSpecific);
public OSecurityRole addRule(final ORule.ResourceGeneric resourceGeneric, String resourceSpecific, final int iOperation);
public OSecurityRole grant(final ORule.ResourceGeneric resourceGeneric, String resourceSpecific, final int iOperation);
public OSecurityRole revoke(final ORule.ResourceGeneric resourceGeneric, String resourceSpecific, final int iOperation);
@Deprecated
public boolean allow(final String iResource, final int iCRUDOperation);
@Deprecated
public boolean hasRule(final String iResource);
@Deprecated
public OSecurityRole addRule(final String iResource, final int iOperation);
@Deprecated
public OSecurityRole grant(final String iResource, final int iOperation);
@Deprecated
public OSecurityRole revoke(final String iResource, final int iOperation);
public String getName();
public OSecurityRole.ALLOW_MODES getMode();
public OSecurityRole setMode(final OSecurityRole.ALLOW_MODES iMode);
public OSecurityRole getParentRole();
public OSecurityRole setParentRole(final OSecurityRole iParent);
public Set<ORule> getRuleSet();
public OIdentifiable getIdentity();
public ODocument getDocument();
}