Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
Copyright (C) 2014 Philip Helger (www.helger.com) philip[at]helger[dot]com Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
 
 package com.helger.appbasics.security.usergroup;
 
 import java.util.Map;
 import java.util.Set;
 
 
Default implementation of the IUserGroup interface.

Author(s):
Philip Helger
 
 public final class UserGroup extends MapBasedAttributeContainer implements IUserGroup
 {
   private final String m_sID;
   private String m_sName;
   private final Set <Stringm_aUserIDs = new HashSet <String> ();
   private final Set <Stringm_aRoleIDs = new HashSet <String> ();
 
   public UserGroup (@Nonnull @Nonempty final String sName)
   {
     this (sName, (Map <String, ?>) null);
   }
 
   public UserGroup (@Nonnull @Nonempty final String sName, @Nullable final Map <String, ?> aCustomAttrs)
   {
     this (GlobalIDFactory.getNewPersistentStringID (), sNameaCustomAttrs);
   }
 
   UserGroup (@Nonnull @Nonempty final String sID, @Nonnull @Nonempty final String sName)
   {
     this (sIDsName, (Map <String, ?>) null);
   }
 
   UserGroup (@Nonnull @Nonempty final String sID,
              @Nonnull @Nonempty final String sName,
              @Nullable final Map <String, ?> aCustomAttrs)
   {
      = ValueEnforcer.notEmpty (sID"ID");
     setName (sName);
     setAttributes (aCustomAttrs);
   }
 
   @Nonnull
   public ObjectType getTypeID ()
   {
     return .;
   }
 
   @Nonnull
   @Nonempty
   public String getID ()
   {
     return ;
   }
 
   @Nonnull
   @Nonempty
   public String getName ()
   {
     return ;
   }
 
   @Nonnull
   EChange setName (@Nonnull @Nonempty final String sName)
   {
    ValueEnforcer.notEmpty (sName"Name");
    if (sName.equals ())
      return .;
     = sName;
    return .;
  }
  public boolean hasContainedUsers ()
  {
    return !.isEmpty ();
  }
  public int getContainedUserCount ()
  {
    return .size ();
  }
  {
    return ContainerHelper.newSet ();
  }
  public boolean containsUserID (final String sUserID)
  {
    return .contains (sUserID);
  }
  EChange assignUser (@Nonnull @Nonempty final String sUserID)
  {
    ValueEnforcer.notEmpty (sUserID"UserID");
    return EChange.valueOf (.add (sUserID));
  }
  EChange unassignUser (@Nonnull final String sUserID)
  {
    return EChange.valueOf (.remove (sUserID));
  }
  public boolean hasContainedRoles ()
  {
    return !.isEmpty ();
  }
  public int getContainedRoleCount ()
  {
    return .size ();
  }
  {
    return ContainerHelper.newSet ();
  }
  public boolean containsRoleID (final String sRoleID)
  {
    return .contains (sRoleID);
  }
  EChange assignRole (@Nonnull @Nonempty final String sRoleID)
  {
    ValueEnforcer.notEmpty (sRoleID"RoleID");
    return EChange.valueOf (.add (sRoleID));
  }
  EChange unassignRole (@Nonnull final String sRoleID)
  {
    return EChange.valueOf (.remove (sRoleID));
  }
  public boolean equals (final Object o)
  {
    if (o == this)
      return true;
    if (!(o instanceof UserGroup))
      return false;
    final UserGroup rhs = (UserGroupo;
    return .equals (rhs.m_sID);
  }
  public int hashCode ()
  {
    return new HashCodeGenerator (this).append ().getHashCode ();
  }
  public String toString ()
  {
    return ToStringGenerator.getDerived (super.toString ())
                            .append ("ID")
                            .append ("name")
                            .append ("assignedUsers")
                            .append ("assignedRoles")
                            .toString ();
  }
New to GrepCode? Check out our FAQ X