/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.core.security.user; import java.io.Serializable; import java.util.ArrayList; import java.util.Collection; import java.util.List; import org.apache.commons.lang.builder.HashCodeBuilder; import com.enonic.cms.core.InvalidKeyException; public class UserKey implements Serializable { private String value; public UserKey( String key ) { if ( key.startsWith( "#" ) ) { key = key.substring( 1 ); } init( key ); } private void init( String value ) { if ( value == null ) { throw new InvalidKeyException( value, this.getClass() ); } this.value = value; } public boolean equals( Object o ) { if ( this == o ) { return true; } if ( o == null || getClass() != o.getClass() ) { return false; } UserKey userKey = (UserKey) o; if ( !value.equals( userKey.value ) ) { return false; } return true; } public int hashCode() { final int initialNonZeroOddNumber = 463; final int multiplierNonZeroOddNumber = 723; return new HashCodeBuilder( initialNonZeroOddNumber, multiplierNonZeroOddNumber ).append( value ).toHashCode(); } public String toString() { return value; } public static Collection<UserKey> parseCollection( String[] keys ) { List<UserKey> list = new ArrayList<UserKey>(); for ( String key : keys ) { list.add( new UserKey( key ) ); } return list; } }