Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * This program is free software; you can redistribute it and/or modify it under the 
   * terms of the GNU Lesser General Public License, version 2.1 as published by the Free Software 
   * Foundation.
   *
   * You should have received a copy of the GNU Lesser General Public License along with this 
   * program; if not, you can obtain a copy at http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html 
   * or from the Free Software Foundation, Inc., 
   * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  *
  * This program 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 Lesser General Public License for more details.
  *
  * Copyright 2012-2013 Pentaho Corporation.  All rights reserved.
  *
  */
 package org.pentaho.platform.api.repository2.unified;
 
 import java.util.List;

Immutable access control list (ACL). Use the RepositoryFileAcl.Builder to create instances.

Author(s):
mlowery
 
 public class RepositoryFileAcl implements Serializable {
 
   // ~ Static fields/initializers ======================================================================================
 
   private static final long serialVersionUID = 6661340152568187033L;
 
   // ~ Instance fields =================================================================================================
 
   private final List<RepositoryFileAceaces;
 
   private final Serializable id;
 
   private final RepositoryFileSid owner;
 
   private final boolean entriesInheriting;
 
   // ~ Constructors ====================================================================================================
 
   public RepositoryFileAcl(Serializable idRepositoryFileSid ownerboolean entriesInheriting,
       List<RepositoryFileAceaces) {
     super();
     notNull(owner);
     notNull(aces);
     this. = id;
     this. = owner;
     this. = entriesInheriting;
     this. = new ArrayList<RepositoryFileAce>(aces);
   }
 
   // ~ Methods =========================================================================================================
 
   private void notNull(final Object obj) {
     if (obj == null) {
       throw new IllegalArgumentException();
     }
   }
 
   public List<RepositoryFileAcegetAces() {
     return Collections.unmodifiableList();
   }
 
   public Serializable getId() {
     return ;
   }
 
   public RepositoryFileSid getOwner() {
     return ;
   }
 
   public boolean isEntriesInheriting() {
     return ;
   }
 
   @Override
   public int hashCode() {
     final int prime = 31;
     int result = 1;
     result = prime * result + (( == null) ? 0 : .hashCode());
     result = prime * result + ( ? 1231 : 1237);
     result = prime * result + (( == null) ? 0 : .hashCode());
     result = prime * result + (( == null) ? 0 : .hashCode());
     return result;
   }
 
   @Override
   public boolean equals(Object obj) {
     if (this == obj)
       return true;
     if (obj == null)
      return false;
    if (getClass() != obj.getClass())
      return false;
    RepositoryFileAcl other = (RepositoryFileAclobj;
    if ( == null) {
      if (other.aces != null)
        return false;
    } else if (!.equals(other.aces))
      return false;
    if ( != other.entriesInheriting)
      return false;
    if ( == null) {
      if (other.id != null)
        return false;
    } else if (!.equals(other.id))
      return false;
    if ( == null) {
      if (other.owner != null)
        return false;
    } else if (!.equals(other.owner))
      return false;
    return true;
  }
  public String toString() {
    return "RepositoryFileAcl [id=" +  + ", owner=" +  + ", entriesInheriting=" +  + ", aces=" //$NON-NLS-1$ //$NON-NLS-2$//$NON-NLS-3$ //$NON-NLS-4$
        +  + "]"//$NON-NLS-1$
  }
  // ~ Inner classes ===================================================================================================
  public static class Builder {
    private List<RepositoryFileAceaces = new ArrayList<RepositoryFileAce>();
    private Serializable id;
    private RepositoryFileSid owner;
    private boolean entriesInheriting = true;

    
Creates a Builder where the owner is a RepositoryFileSid.Type.USER.

Parameters:
owner
    public Builder(final String owner) {
      this(new RepositoryFileSid(owner));
    }
    public Builder(final RepositoryFileSid owner) {
      this((Serializablenullowner);
    }
    public Builder(final Serializable idfinal RepositoryFileSid owner) {
      this. = id;
      this. = owner;
    }
    public Builder(final String namefinal RepositoryFileSid.Type type) {
      this(nullnew RepositoryFileSid(nametype));
    }
    public Builder(final Serializable idfinal String namefinal RepositoryFileSid.Type type) {
      this(idnew RepositoryFileSid(nametype));
    }
    public Builder(final RepositoryFileAcl other) {
      this(other.idother.owner);
      this.entriesInheriting(other.entriesInheriting);
      for (RepositoryFileAce ace : other.aces) {
        this.ace(ace);
      }
    }
    public RepositoryFileAcl build() {
      return new RepositoryFileAcl(this.this.);
    }
    public Builder entriesInheriting(final boolean entriesInheriting1) {
      this. = entriesInheriting1;
      return this;
    }
    public Builder id(final Serializable id1) {
      this. = id1;
      return this;
    }
    public Builder owner(final RepositoryFileSid owner1) {
      this. = owner1;
      return this;
    }

    
Entries inheriting is set to false when this method is called.
    public Builder ace(final RepositoryFileAce ace1) {
      entriesInheriting(false);
      this..add(ace1);
      return this;
    }

    
Entries inheriting is set to false when this method is called.
    public Builder ace(final RepositoryFileSid recipientfinal RepositoryFilePermission first,
        final RepositoryFilePermission... rest) {
      return ace(new RepositoryFileAce(recipient, EnumSet.of(firstrest)));
    }

    
Entries inheriting is set to false when this method is called.
    public Builder ace(final RepositoryFileSid recipientfinal EnumSet<RepositoryFilePermissionpermissions) {
      return ace(new RepositoryFileAce(recipientpermissions));
    }

    
Entries inheriting is set to false when this method is called.
    public Builder ace(final String namefinal RepositoryFileSid.Type typefinal RepositoryFilePermission first,
        final RepositoryFilePermission... rest) {
      return ace(new RepositoryFileAce(new RepositoryFileSid(nametype), EnumSet.of(firstrest)));
    }

    
Entries inheriting is set to false when this method is called.
    public Builder ace(final String namefinal RepositoryFileSid.Type type,
        final EnumSet<RepositoryFilePermissionpermissions) {
      return ace(new RepositoryFileAce(new RepositoryFileSid(nametype), permissions));
    }

    
Replaces the ACEs with the given ACEs. Entries inheriting is set to false when this method is called.
    public Builder aces(final List<RepositoryFileAceaces1) {
      clearAces();
      entriesInheriting(false);
      this..addAll(aces1);
      return this;
    }
    public Builder clearAces() {
      this..clear();
      return this;
    }
  }
New to GrepCode? Check out our FAQ X