@CheckForNull public static <T extends Authorizable> T castAuthorizable(@Nullable Authorizable authorizable, Class<T> authorizableClass) throws AuthorizableTypeException { if (authorizable == null) { return null; } if (authorizableClass != null && authorizableClass.isInstance(authorizable)) { return authorizableClass.cast(authorizable); } else { throw new AuthorizableTypeException("Invalid authorizable type '" + ((authorizableClass == null) ? "null" : authorizableClass) + '\''); } }
@Nullable public static <T extends Authorizable> T castAuthorizable(@Nullable Authorizable authorizable, Class<T> authorizableClass) throws AuthorizableTypeException { if (authorizable == null) { return null; } if (authorizableClass != null && authorizableClass.isInstance(authorizable)) { return authorizableClass.cast(authorizable); } else { throw new AuthorizableTypeException("Invalid authorizable type '" + ((authorizableClass == null) ? "null" : authorizableClass) + '\''); } }
/** * @see UserManager#getAuthorizable(String, Class) */ public <T extends Authorizable> T getAuthorizable(String id, Class<T> authorizableClass) throws AuthorizableTypeException, RepositoryException { Authorizable authorizable = getAuthorizable(id); if (authorizable == null) { return null; } else { if (authorizableClass != null && authorizableClass.isInstance(authorizable)) { return authorizableClass.cast(authorizable); } else { throw new AuthorizableTypeException("Invalid authorizable type for authorizable '" + id + "'"); } } }
/** * @see UserManager#getAuthorizable(String, Class) */ public <T extends Authorizable> T getAuthorizable(String id, Class<T> authorizableClass) throws AuthorizableTypeException, RepositoryException { Authorizable authorizable = getAuthorizable(id); if (authorizable == null) { return null; } else { if (authorizableClass != null && authorizableClass.isInstance(authorizable)) { return authorizableClass.cast(authorizable); } else { throw new AuthorizableTypeException("Invalid authorizable type for authorizable '" + id + "'"); } } }
@Override public <T extends Authorizable> T getAuthorizable(final String id, final Class<T> authorizableClass) throws RepositoryException { T internal = delegate.getAuthorizable(id, authorizableClass); if (internal == null) { return null; } Authorizable wrapped = AuthorizableFacade.ensureBestWrapper(internal); if (authorizableClass.isAssignableFrom(wrapped.getClass())) { return authorizableClass.cast(wrapped); } else { throw new AuthorizableTypeException("Authorizable type not supported: " + authorizableClass.getName()); } }