content: /*
   *  Copyright (C) 2014 Stichting Akvo (Akvo Foundation)
   *
   *  This file is part of Akvo FLOW.
   *
   *  Akvo FLOW is free software: you can redistribute it and modify it under the terms of
   *  the GNU Affero General Public License (AGPL) as published by the Free Software Foundation,
   *  either version 3 of the License or any later version.
   *
   *  Akvo FLOW is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
   *  without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
   *  See the GNU Affero General Public License included below for more details.
   *
   *  The full license text can also be seen at <http://www.gnu.org/licenses/agpl.html>.
   */
  
  package com.gallatinsystems.user.domain;
  
  import javax.jdo.annotations.PersistenceCapable;
  
  import com.gallatinsystems.framework.domain.BaseDomain;
  
  /**
   * Represents user authorization that is the coupling of a role template (defined by @{link
   * com.gallatinsystems.user.domain.UserRole UserRole}) with a set of objects / resources to which
   * the role template is applied. The permissions defined in the role are applied when the user
   * attempts to access any object in the set.
   *
   * @author emmanuel
   */
  @PersistenceCapable
  public class UserAuthorization extends BaseDomain {
  
      private static final long serialVersionUID = 9089472356087486015L;
  
      private Long userId;
  
      private Long roleId;
  
      /*
       * A path defining a set of objects to which the permissions defined in the role are applied for
       * a specific user. The path is in the form /set/of/paths[/*] and may define a single object or
       * contain a star that specified all subordinate objects
       */
      @Deprecated
      private String objectPath;
  
      /*
       * The id of an object to which a particular authorization, i.e., the user and role, has been
       * coupled.
       */
      private Long securedObjectId;
  
      public Long getUserId() {
          return userId;
      }
  
      public void setUserId(Long userId) {
          this.userId = userId;
      }
  
      public Long getRoleId() {
          return roleId;
      }
  
      public void setRoleId(Long roleId) {
          this.roleId = roleId;
      }
  
      public String getObjectPath() {
          return objectPath;
      }
  
      public void setObjectPath(String objectPath) {
          this.objectPath = objectPath;
      }
  
      public Long getSecuredObjectId() {
          return securedObjectId;
      }
  
      public void setSecuredObjectId(Long securedObjectId) {
          this.securedObjectId = securedObjectId;
      }
  }
  