/*
* Copyright 2000-2013 Enonic AS
* http://www.enonic.com/license
*/
package com.enonic.cms.core.security.userstore;
import com.enonic.cms.core.security.QualifiedName;
/**
* Jul 9, 2009
*/
public class UserStoreAccessException
extends RuntimeException
{
private UserStoreAccessType type;
private QualifiedName user;
public UserStoreAccessException( UserStoreAccessType type, QualifiedName user, Object object )
{
super( buildMessage( type, user, object, null ) );
this.type = type;
this.user = user;
}
public UserStoreAccessException( UserStoreAccessType type, QualifiedName user, Object object, String detailMessage )
{
super( buildMessage( type, user, object, detailMessage ) );
this.type = type;
this.user = user;
}
private static String buildMessage( UserStoreAccessType type, QualifiedName user, Object object, String detailMessage )
{
StringBuffer s = new StringBuffer();
s.append( "User '" ).append( user ).append( "' do not have access to " ).append( type );
s.append( " '" ).append( object ).append( "'" );
if ( detailMessage != null )
{
s.append( ": " ).append( detailMessage );
}
return s.toString();
}
public UserStoreAccessType getType()
{
return type;
}
public QualifiedName getUser()
{
return user;
}
}