All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.anotheria.portalkit.services.account.AccountAdminService Maven / Gradle / Ivy

There is a newer version: 4.1.0
Show newest version
package net.anotheria.portalkit.services.account;

import net.anotheria.anoprise.metafactory.Service;
import net.anotheria.portalkit.services.common.AccountId;
import org.distributeme.annotation.DistributeMe;
import org.distributeme.annotation.FailBy;
import org.distributeme.core.failing.RetryCallOnce;

import java.util.Collection;
import java.util.List;

/**
 * Administrative interface for {@link AccountService}.
 */
@DistributeMe()
@FailBy(strategyClass=RetryCallOnce.class)
public interface AccountAdminService extends Service {

	/**
	 * Returns collection of registered accounts in the system.
	 * 
	 * @return collection of {@link AccountId}.
	 * @throws AccountAdminServiceException		if error.
	 */
	Collection getAllAccountIds() throws AccountAdminServiceException;

	/**
	 * Returns collection of registered accounts in the system according to brand.
	 *
	 * @param brand brand
	 * @return collection of {@link AccountId}
	 * @throws AccountAdminServiceException if any errors occurs
	 */
	Collection getAllAccountIds(String brand) throws AccountAdminServiceException;

	/**
	 * Get accounts identifiers by account type.
	 * 
	 * @param accountType
	 *            {@link AccountType}
	 * @return {@link List} of {@link Account}
	 * @throws AccountServiceException		if error.
	 */
	List getAccountsByType(@SuppressWarnings("rawtypes") AccountType accountType) throws AccountServiceException;

	/**
	 * Get accounts by query.
	 * 
	 * @param query
	 *            {@link AccountQuery}
	 * @return {@link List} of {@link Account}
	 * @throws AccountAdminServiceException		if error.
	 */
	List getAccountsByQuery(AccountQuery query) throws AccountAdminServiceException;

	/**
	 * Returns {@link List} of {@link AccountAudit} for {@link AccountId} user.
	 *
	 * @param accountId					given {@link AccountId}
	 * @return							{@link List} of {@link AccountAudit}
	 * @throws AccountAdminServiceException	if error
	 */
	List getAccountAudits(AccountId accountId) throws AccountAdminServiceException;
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy