| /* |
| * Copyright (c) 2012, 2013, 2016 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.impl; |
| |
| //import org.eclipse.emf.cdo.security.*; |
| import org.eclipse.emf.cdo.expressions.Expression; |
| import org.eclipse.emf.cdo.security.Access; |
| import org.eclipse.emf.cdo.security.AndFilter; |
| import org.eclipse.emf.cdo.security.ClassFilter; |
| import org.eclipse.emf.cdo.security.ClassPermission; |
| import org.eclipse.emf.cdo.security.Directory; |
| import org.eclipse.emf.cdo.security.ExpressionFilter; |
| import org.eclipse.emf.cdo.security.FilterPermission; |
| import org.eclipse.emf.cdo.security.Group; |
| import org.eclipse.emf.cdo.security.LinkedFilter; |
| import org.eclipse.emf.cdo.security.NotFilter; |
| import org.eclipse.emf.cdo.security.OrFilter; |
| import org.eclipse.emf.cdo.security.PackageFilter; |
| import org.eclipse.emf.cdo.security.PackagePermission; |
| import org.eclipse.emf.cdo.security.PatternStyle; |
| import org.eclipse.emf.cdo.security.PermissionFilter; |
| import org.eclipse.emf.cdo.security.Realm; |
| import org.eclipse.emf.cdo.security.ResourceFilter; |
| import org.eclipse.emf.cdo.security.ResourcePermission; |
| import org.eclipse.emf.cdo.security.Role; |
| import org.eclipse.emf.cdo.security.SecurityFactory; |
| import org.eclipse.emf.cdo.security.SecurityPackage; |
| import org.eclipse.emf.cdo.security.User; |
| import org.eclipse.emf.cdo.security.UserPassword; |
| |
| import org.eclipse.emf.ecore.EClass; |
| import org.eclipse.emf.ecore.EDataType; |
| import org.eclipse.emf.ecore.EObject; |
| import org.eclipse.emf.ecore.EPackage; |
| import org.eclipse.emf.ecore.impl.EFactoryImpl; |
| import org.eclipse.emf.ecore.plugin.EcorePlugin; |
| |
| import java.util.Arrays; |
| |
| /** |
| * <!-- begin-user-doc --> |
| * An implementation of the model <b>Factory</b>. |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| @SuppressWarnings("deprecation") |
| public class SecurityFactoryImpl extends EFactoryImpl implements SecurityFactory |
| { |
| /** |
| * @since 4.3 |
| */ |
| public static final Access DEFAULT_PERMISSION = Access.WRITE; |
| |
| /** |
| * Creates the default factory implementation. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public static SecurityFactory init() |
| { |
| try |
| { |
| SecurityFactory theSecurityFactory = (SecurityFactory)EPackage.Registry.INSTANCE |
| .getEFactory(SecurityPackage.eNS_URI); |
| if (theSecurityFactory != null) |
| { |
| return theSecurityFactory; |
| } |
| } |
| catch (Exception exception) |
| { |
| EcorePlugin.INSTANCE.log(exception); |
| } |
| return new SecurityFactoryImpl(); |
| } |
| |
| /** |
| * Creates an instance of the factory. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public SecurityFactoryImpl() |
| { |
| super(); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| @Override |
| public EObject create(EClass eClass) |
| { |
| switch (eClass.getClassifierID()) |
| { |
| case SecurityPackage.REALM: |
| return createRealm(); |
| case SecurityPackage.DIRECTORY: |
| return createDirectory(); |
| case SecurityPackage.ROLE: |
| return createRole(); |
| case SecurityPackage.GROUP: |
| return createGroup(); |
| case SecurityPackage.USER: |
| return createUser(); |
| case SecurityPackage.USER_PASSWORD: |
| return createUserPassword(); |
| case SecurityPackage.CLASS_PERMISSION: |
| return createClassPermission(); |
| case SecurityPackage.PACKAGE_PERMISSION: |
| return createPackagePermission(); |
| case SecurityPackage.RESOURCE_PERMISSION: |
| return createResourcePermission(); |
| case SecurityPackage.FILTER_PERMISSION: |
| return createFilterPermission(); |
| case SecurityPackage.LINKED_FILTER: |
| return createLinkedFilter(); |
| case SecurityPackage.PACKAGE_FILTER: |
| return createPackageFilter(); |
| case SecurityPackage.CLASS_FILTER: |
| return createClassFilter(); |
| case SecurityPackage.RESOURCE_FILTER: |
| return createResourceFilter(); |
| case SecurityPackage.EXPRESSION_FILTER: |
| return createExpressionFilter(); |
| case SecurityPackage.NOT_FILTER: |
| return createNotFilter(); |
| case SecurityPackage.AND_FILTER: |
| return createAndFilter(); |
| case SecurityPackage.OR_FILTER: |
| return createOrFilter(); |
| default: |
| throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$ |
| } |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| @Override |
| public Object createFromString(EDataType eDataType, String initialValue) |
| { |
| switch (eDataType.getClassifierID()) |
| { |
| case SecurityPackage.PATTERN_STYLE: |
| return createPatternStyleFromString(eDataType, initialValue); |
| case SecurityPackage.ACCESS: |
| return createAccessFromString(eDataType, initialValue); |
| case SecurityPackage.ACCESS_OBJECT: |
| return createAccessObjectFromString(eDataType, initialValue); |
| default: |
| throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$ |
| } |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| @Override |
| public String convertToString(EDataType eDataType, Object instanceValue) |
| { |
| switch (eDataType.getClassifierID()) |
| { |
| case SecurityPackage.PATTERN_STYLE: |
| return convertPatternStyleToString(eDataType, instanceValue); |
| case SecurityPackage.ACCESS: |
| return convertAccessToString(eDataType, instanceValue); |
| case SecurityPackage.ACCESS_OBJECT: |
| return convertAccessObjectToString(eDataType, instanceValue); |
| default: |
| throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$ |
| } |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public Realm createRealm() |
| { |
| RealmImpl realm = new RealmImpl(); |
| return realm; |
| } |
| |
| public Realm createRealm(String name) |
| { |
| Realm realm = createRealm(); |
| realm.setName(name); |
| return realm; |
| } |
| |
| public Realm createRealm(String name, Access defaultAccess) |
| { |
| Realm realm = createRealm(name); |
| realm.setDefaultAccess(defaultAccess); |
| return realm; |
| } |
| |
| public Directory createDirectory(String name) |
| { |
| Directory directory = createDirectory(); |
| directory.setName(name); |
| return directory; |
| } |
| |
| public Role createRole(String id) |
| { |
| Role role = createRole(); |
| role.setId(id); |
| return role; |
| } |
| |
| public Group createGroup(String id) |
| { |
| Group group = createGroup(); |
| group.setId(id); |
| return group; |
| } |
| |
| public User createUser(String id) |
| { |
| User user = createUser(); |
| user.setId(id); |
| return user; |
| } |
| |
| public User createUser(String id, String password) |
| { |
| UserPassword userPassword = createUserPassword(); |
| userPassword.setEncrypted(password); |
| |
| User user = createUser(id); |
| user.setPassword(userPassword); |
| return user; |
| } |
| |
| @Deprecated |
| public org.eclipse.emf.cdo.security.ClassPermission createClassPermission(EClass eClass, Access access) |
| { |
| org.eclipse.emf.cdo.security.ClassPermission permission = createClassPermission(); |
| permission.setApplicableClass(eClass); |
| permission.setAccess(access); |
| return permission; |
| } |
| |
| @Deprecated |
| public org.eclipse.emf.cdo.security.PackagePermission createPackagePermission(EPackage ePackage, Access access) |
| { |
| org.eclipse.emf.cdo.security.PackagePermission permission = createPackagePermission(); |
| permission.setApplicablePackage(ePackage); |
| permission.setAccess(access); |
| return permission; |
| } |
| |
| @Deprecated |
| public org.eclipse.emf.cdo.security.ResourcePermission createResourcePermission(String pattern, Access access) |
| { |
| org.eclipse.emf.cdo.security.ResourcePermission permission = createResourcePermission(); |
| permission.setPattern(pattern); |
| permission.setAccess(access); |
| return permission; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public Directory createDirectory() |
| { |
| DirectoryImpl directory = new DirectoryImpl(); |
| return directory; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public Role createRole() |
| { |
| RoleImpl role = new RoleImpl(); |
| return role; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public Group createGroup() |
| { |
| GroupImpl group = new GroupImpl(); |
| return group; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public User createUser() |
| { |
| UserImpl user = new UserImpl(); |
| return user; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public UserPassword createUserPassword() |
| { |
| UserPasswordImpl userPassword = new UserPasswordImpl(); |
| return userPassword; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| @Deprecated |
| public ClassPermission createClassPermission() |
| { |
| ClassPermissionImpl classPermission = new ClassPermissionImpl(); |
| return classPermission; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| @Deprecated |
| public PackagePermission createPackagePermission() |
| { |
| PackagePermissionImpl packagePermission = new PackagePermissionImpl(); |
| return packagePermission; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| @Deprecated |
| public ResourcePermission createResourcePermission() |
| { |
| ResourcePermissionImpl resourcePermission = new ResourcePermissionImpl(); |
| return resourcePermission; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * @since 4.3 |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public FilterPermission createFilterPermission() |
| { |
| FilterPermissionImpl filterPermission = new FilterPermissionImpl(); |
| return filterPermission; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * @since 4.3 |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public LinkedFilter createLinkedFilter() |
| { |
| LinkedFilterImpl linkedFilter = new LinkedFilterImpl(); |
| return linkedFilter; |
| } |
| |
| /** |
| * @since 4.3 |
| */ |
| public FilterPermission createFilterPermission(Access access, PermissionFilter... filters) |
| { |
| FilterPermission permission = createFilterPermission(); |
| permission.setAccess(access); |
| permission.getFilters().addAll(Arrays.asList(filters)); |
| return permission; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * @since 4.3 |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public PackageFilter createPackageFilter() |
| { |
| PackageFilterImpl packageFilter = new PackageFilterImpl(); |
| return packageFilter; |
| } |
| |
| /** |
| * @since 4.3 |
| */ |
| public PackageFilter createPackageFilter(EPackage ePackage) |
| { |
| PackageFilter filter = createPackageFilter(); |
| filter.setApplicablePackage(ePackage); |
| return filter; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * @since 4.3 |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public ClassFilter createClassFilter() |
| { |
| ClassFilterImpl classFilter = new ClassFilterImpl(); |
| return classFilter; |
| } |
| |
| /** |
| * @since 4.3 |
| */ |
| public ClassFilter createClassFilter(EClass eClass) |
| { |
| ClassFilter filter = createClassFilter(); |
| filter.setApplicableClass(eClass); |
| return filter; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * @since 4.3 |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public ResourceFilter createResourceFilter() |
| { |
| ResourceFilterImpl resourceFilter = new ResourceFilterImpl(); |
| return resourceFilter; |
| } |
| |
| /** |
| * @since 4.3 |
| */ |
| public ResourceFilter createResourceFilter(String path) |
| { |
| ResourceFilter filter = createResourceFilter(); |
| filter.setPath(path); |
| return filter; |
| } |
| |
| /** |
| * @since 4.3 |
| */ |
| public ResourceFilter createResourceFilter(String path, PatternStyle patternStyle) |
| { |
| ResourceFilter filter = createResourceFilter(path); |
| filter.setPatternStyle(patternStyle); |
| return filter; |
| } |
| |
| /** |
| * @since 4.3 |
| */ |
| public ResourceFilter createResourceFilter(String path, PatternStyle patternStyle, boolean includeParents) |
| { |
| ResourceFilter filter = createResourceFilter(path, patternStyle); |
| filter.setIncludeParents(includeParents); |
| return filter; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * @since 4.3 |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public ExpressionFilter createExpressionFilter() |
| { |
| ExpressionFilterImpl expressionFilter = new ExpressionFilterImpl(); |
| return expressionFilter; |
| } |
| |
| /** |
| * @since 4.3 |
| */ |
| public ExpressionFilter createExpressionFilter(Expression expression) |
| { |
| ExpressionFilter filter = createExpressionFilter(); |
| filter.setExpression(expression); |
| return filter; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * @since 4.3 |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public NotFilter createNotFilter() |
| { |
| NotFilterImpl notFilter = new NotFilterImpl(); |
| return notFilter; |
| } |
| |
| /** |
| * @since 4.3 |
| */ |
| public NotFilter createNotFilter(PermissionFilter operand) |
| { |
| NotFilter filter = createNotFilter(); |
| filter.getOperands().add(operand); |
| return filter; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * @since 4.3 |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public AndFilter createAndFilter() |
| { |
| AndFilterImpl andFilter = new AndFilterImpl(); |
| return andFilter; |
| } |
| |
| /** |
| * @since 4.3 |
| */ |
| public AndFilter createAndFilter(PermissionFilter... operands) |
| { |
| AndFilter filter = createAndFilter(); |
| filter.getOperands().addAll(Arrays.asList(operands)); |
| return filter; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * @since 4.3 |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public OrFilter createOrFilter() |
| { |
| OrFilterImpl orFilter = new OrFilterImpl(); |
| return orFilter; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * @since 4.3 |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public PatternStyle createPatternStyleFromString(EDataType eDataType, String initialValue) |
| { |
| PatternStyle result = PatternStyle.get(initialValue); |
| if (result == null) |
| { |
| throw new IllegalArgumentException( |
| "The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ |
| } |
| return result; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * @since 4.3 |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public String convertPatternStyleToString(EDataType eDataType, Object instanceValue) |
| { |
| return instanceValue == null ? null : instanceValue.toString(); |
| } |
| |
| /** |
| * @since 4.3 |
| */ |
| public OrFilter createOrFilter(PermissionFilter... operands) |
| { |
| OrFilter filter = createOrFilter(); |
| filter.getOperands().addAll(Arrays.asList(operands)); |
| return filter; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public Access createAccessFromString(EDataType eDataType, String initialValue) |
| { |
| Access result = Access.get(initialValue); |
| if (result == null) |
| { |
| throw new IllegalArgumentException( |
| "The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ |
| } |
| return result; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public String convertAccessToString(EDataType eDataType, Object instanceValue) |
| { |
| return instanceValue == null ? null : instanceValue.toString(); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public Access createAccessObjectFromString(EDataType eDataType, String initialValue) |
| { |
| return createAccessFromString(SecurityPackage.Literals.ACCESS, initialValue); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public String convertAccessObjectToString(EDataType eDataType, Object instanceValue) |
| { |
| return convertAccessToString(SecurityPackage.Literals.ACCESS, instanceValue); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public SecurityPackage getSecurityPackage() |
| { |
| return (SecurityPackage)getEPackage(); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @deprecated |
| * @generated |
| */ |
| @Deprecated |
| public static SecurityPackage getPackage() |
| { |
| return SecurityPackage.eINSTANCE; |
| } |
| |
| } // SecurityFactoryImpl |