blob: 20f5afaebf8d7dc27af9f1ebe5fd9c9b56c79abc [file] [log] [blame]
/*
* Copyright (c) 2012, 2013 Eike Stepper (Berlin, Germany) and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Eike Stepper - initial API and implementation
*/
package org.eclipse.emf.cdo.security;
import org.eclipse.emf.common.util.EList;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Realm</b></em>'.
* @extends SecurityItemContainer
* @noimplement This interface is not intended to be implemented by clients.
* @noextend This interface is not intended to be extended by clients.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* <ul>
* <li>{@link org.eclipse.emf.cdo.security.Realm#getItems <em>Items</em>}</li>
* <li>{@link org.eclipse.emf.cdo.security.Realm#getAllUsers <em>All Users</em>}</li>
* <li>{@link org.eclipse.emf.cdo.security.Realm#getAllGroups <em>All Groups</em>}</li>
* <li>{@link org.eclipse.emf.cdo.security.Realm#getAllRoles <em>All Roles</em>}</li>
* <li>{@link org.eclipse.emf.cdo.security.Realm#getAllPermissions <em>All Permissions</em>}</li>
* <li>{@link org.eclipse.emf.cdo.security.Realm#getName <em>Name</em>}</li>
* <li>{@link org.eclipse.emf.cdo.security.Realm#getDefaultAccess <em>Default Access</em>}</li>
* <li>{@link org.eclipse.emf.cdo.security.Realm#getDefaultUserDirectory <em>Default User Directory</em>}</li>
* <li>{@link org.eclipse.emf.cdo.security.Realm#getDefaultGroupDirectory <em>Default Group Directory</em>}</li>
* <li>{@link org.eclipse.emf.cdo.security.Realm#getDefaultRoleDirectory <em>Default Role Directory</em>}</li>
* </ul>
* </p>
*
* @see org.eclipse.emf.cdo.security.SecurityPackage#getRealm()
* @model annotation="http://www.eclipse.org/emf/2002/Ecore constraints='HasAdministrator'"
* @generated
*/
public interface Realm extends SecurityElement, SecurityItemContainer
{
/**
* Returns the value of the '<em><b>Items</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.emf.cdo.security.SecurityItem}.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Items</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Items</em>' containment reference list.
* @see org.eclipse.emf.cdo.security.SecurityPackage#getRealm_Items()
* @model containment="true"
* @generated
*/
EList<SecurityItem> getItems();
/**
* Returns the value of the '<em><b>All Users</b></em>' reference list.
* The list contents are of type {@link org.eclipse.emf.cdo.security.User}.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>All Users</em>' reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>All Users</em>' reference list.
* @see org.eclipse.emf.cdo.security.SecurityPackage#getRealm_AllUsers()
* @model transient="true" changeable="false" volatile="true" derived="true"
* @generated
*/
EList<User> getAllUsers();
/**
* Returns the value of the '<em><b>All Groups</b></em>' reference list.
* The list contents are of type {@link org.eclipse.emf.cdo.security.Group}.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>All Groups</em>' reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>All Groups</em>' reference list.
* @see org.eclipse.emf.cdo.security.SecurityPackage#getRealm_AllGroups()
* @model transient="true" changeable="false" volatile="true" derived="true"
* @generated
*/
EList<Group> getAllGroups();
/**
* Returns the value of the '<em><b>All Roles</b></em>' reference list.
* The list contents are of type {@link org.eclipse.emf.cdo.security.Role}.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>All Roles</em>' reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>All Roles</em>' reference list.
* @see org.eclipse.emf.cdo.security.SecurityPackage#getRealm_AllRoles()
* @model transient="true" changeable="false" volatile="true" derived="true"
* @generated
*/
EList<Role> getAllRoles();
/**
* Returns the value of the '<em><b>All Permissions</b></em>' reference list.
* The list contents are of type {@link org.eclipse.emf.cdo.security.Permission}.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>All Permissions</em>' reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>All Permissions</em>' reference list.
* @see org.eclipse.emf.cdo.security.SecurityPackage#getRealm_AllPermissions()
* @model transient="true" changeable="false" volatile="true" derived="true"
* @generated
*/
EList<Permission> getAllPermissions();
/**
* Returns the value of the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Name</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Name</em>' attribute.
* @see #setName(String)
* @see org.eclipse.emf.cdo.security.SecurityPackage#getRealm_Name()
* @model
* @generated
*/
String getName();
/**
* Sets the value of the '{@link org.eclipse.emf.cdo.security.Realm#getName <em>Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Name</em>' attribute.
* @see #getName()
* @generated
*/
void setName(String value);
/**
* Returns the value of the '<em><b>Default Access</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* <p>The minimum level of access for all users on all objects in the repository.
* This is not the default level of access for a user on an object that is not otherwise covered by some permission rule; all permissions are implicitly elevated to this level.
* </p><p>
* This default/minimum can be overridden, even to a lesser access level, for specific {@linkplain User#setDefaultAccessOverride(Access) users} on a case-by-case basis.</p>
* <!-- end-model-doc -->
* @return the value of the '<em>Default Access</em>' attribute.
* @see #setDefaultAccess(Access)
* @see org.eclipse.emf.cdo.security.SecurityPackage#getRealm_DefaultAccess()
* @model dataType="org.eclipse.emf.cdo.security.AccessObject"
* @generated
*/
Access getDefaultAccess();
/**
* Sets the value of the '{@link org.eclipse.emf.cdo.security.Realm#getDefaultAccess <em>Default Access</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Default Access</em>' attribute.
* @see #getDefaultAccess()
* @generated
*/
void setDefaultAccess(Access value);
/**
* Returns the value of the '<em><b>Default User Directory</b></em>' reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Default User Directory</em>' reference isn't clear,
* there really should be more of a description here...
* </p>
* @since 4.2
* <!-- end-user-doc -->
* @return the value of the '<em>Default User Directory</em>' reference.
* @see #setDefaultUserDirectory(Directory)
* @see org.eclipse.emf.cdo.security.SecurityPackage#getRealm_DefaultUserDirectory()
* @model
* @generated
*/
Directory getDefaultUserDirectory();
/**
* Sets the value of the '{@link org.eclipse.emf.cdo.security.Realm#getDefaultUserDirectory <em>Default User Directory</em>}' reference.
* <!-- begin-user-doc -->
* @since 4.2
* <!-- end-user-doc -->
* @param value the new value of the '<em>Default User Directory</em>' reference.
* @see #getDefaultUserDirectory()
* @generated
*/
void setDefaultUserDirectory(Directory value);
/**
* Returns the value of the '<em><b>Default Group Directory</b></em>' reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Default Group Directory</em>' reference isn't clear,
* there really should be more of a description here...
* </p>
* @since 4.2
* <!-- end-user-doc -->
* @return the value of the '<em>Default Group Directory</em>' reference.
* @see #setDefaultGroupDirectory(Directory)
* @see org.eclipse.emf.cdo.security.SecurityPackage#getRealm_DefaultGroupDirectory()
* @model
* @generated
*/
Directory getDefaultGroupDirectory();
/**
* Sets the value of the '{@link org.eclipse.emf.cdo.security.Realm#getDefaultGroupDirectory <em>Default Group Directory</em>}' reference.
* <!-- begin-user-doc -->
* @since 4.2
* <!-- end-user-doc -->
* @param value the new value of the '<em>Default Group Directory</em>' reference.
* @see #getDefaultGroupDirectory()
* @generated
*/
void setDefaultGroupDirectory(Directory value);
/**
* Returns the value of the '<em><b>Default Role Directory</b></em>' reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Default Role Directory</em>' reference isn't clear,
* there really should be more of a description here...
* </p>
* @since 4.2
* <!-- end-user-doc -->
* @return the value of the '<em>Default Role Directory</em>' reference.
* @see #setDefaultRoleDirectory(Directory)
* @see org.eclipse.emf.cdo.security.SecurityPackage#getRealm_DefaultRoleDirectory()
* @model
* @generated
*/
Directory getDefaultRoleDirectory();
/**
* Sets the value of the '{@link org.eclipse.emf.cdo.security.Realm#getDefaultRoleDirectory <em>Default Role Directory</em>}' reference.
* <!-- begin-user-doc -->
* @since 4.2
* <!-- end-user-doc -->
* @param value the new value of the '<em>Default Role Directory</em>' reference.
* @see #getDefaultRoleDirectory()
* @generated
*/
void setDefaultRoleDirectory(Directory value);
} // SecurityRealm