package com.idega.user.data; import java.util.Collection; import java.util.Collections; import javax.ejb.FinderException; import com.idega.core.contact.data.Email; import com.idega.core.location.data.Commune; import com.idega.data.IDOLookupException; import com.idega.util.IWTimestamp; public interface UserHome extends com.idega.data.IDOHome { public User create() throws javax.ejb.CreateException; public User findByPrimaryKey(Object pk) throws javax.ejb.FinderException; public User findByPersonalID(String p0)throws javax.ejb.FinderException; public Collection<User> findAllByPersonalID(String p0)throws javax.ejb.FinderException; public User findByDateOfBirthAndName(java.sql.Date p0, String p1)throws javax.ejb.FinderException; public Collection<User> findByDateOfBirth(java.sql.Date p0)throws javax.ejb.FinderException; public User findByFirstSixLettersOfPersonalIDAndFirstNameAndLastName(String p0,String p1, String p2)throws javax.ejb.FinderException; public User findUserForUserGroup(int p0)throws javax.ejb.FinderException; public Collection<User> findAllUsersWithDuplicatedEmails()throws javax.ejb.FinderException; public Collection<User> findAllUsersWithDuplicatedPhones(String p0)throws javax.ejb.FinderException; public Collection<User> findAllUsers()throws javax.ejb.FinderException; public Collection<User> findNewestUsers(int returningNumberOfRecords, int startingRecord) throws FinderException; public Collection<User> findByNames(String p0,String p1,String p2)throws javax.ejb.FinderException; public Collection<User> findUsersForUserRepresentativeGroups(Collection p0)throws javax.ejb.FinderException; public User findUserForUserRepresentativeGroup(com.idega.user.data.Group p0)throws javax.ejb.FinderException; public Collection<User> findUsersInPrimaryGroup(com.idega.user.data.Group p0)throws javax.ejb.FinderException; public Collection<User> findUsersBySearchCondition(String p0, boolean orderLastFirst)throws javax.ejb.FinderException; public Collection<User> findUsersBySearchConditionAndAge(String p0, boolean orderLastFirst, int endAge)throws javax.ejb.FinderException; public Collection<User> findUsersBySearchCondition(String condition, String[] userIds, boolean orderLastFirst) throws FinderException; public User findUserForUserGroup(com.idega.user.data.Group p0)throws javax.ejb.FinderException; public User findUserFromEmail(String p0)throws javax.ejb.FinderException; public abstract Collection<User> findUsersByEmail(String email) throws javax.ejb.FinderException; public abstract Collection<User> findUsersByEmail(String email, boolean useLoweredValue, boolean useLikeExpression) throws javax.ejb.FinderException; public Collection<User> findUsers(String[] userIDs)throws javax.ejb.FinderException; public Collection<User> findAllUsersOrderedByFirstName()throws javax.ejb.FinderException; public Collection<User> findUsersByYearOfBirth (int minYear, int maxYear) throws FinderException; public int getUserCount()throws com.idega.data.IDOException; public int getCountByBirthYearAndCommune(int fromYear, int toYear, Commune commune) throws com.idega.data.IDOException; public String getGroupType(); public Collection<User> findUsersInQuery(com.idega.data.IDOQuery query)throws javax.ejb.FinderException; public Collection<User> findUsersByConditions(String userName, String personalId, String streetName, String groupName, int genderId, int statusId, int startAge, int endAge, String[] allowedGroupIds, String[] allowedUserIds, boolean useAnd, boolean orderLastFirst) throws FinderException; public Collection<User> findUsersByConditions(String firstName, String middleName, String lastName, String personalId, String streetName, String groupName, int genderId, int statusId, int startAge, int endAge, String[] allowedGroupIds, String[] allowedUserIds, boolean useAnd, boolean orderLastFirst) throws FinderException; public Collection<User> findUsersByMetaData(String key, String value) throws FinderException; public Collection<User> findUsersByCreationTime(IWTimestamp firstCreationTime, IWTimestamp lastCreationTime) throws FinderException, IDOLookupException; public Collection<User> findByDateOfBirthAndGroupRelationInitiationTimeAndStatus(java.sql.Date firstBirthDateInPeriode, java.sql.Date lastBirthDateInPeriode, Group relatedGroup, java.sql.Timestamp firstInitiationDateInPeriode, java.sql.Timestamp lastInitiationDateInPeriode, String[] relationStatus) throws IDOLookupException, FinderException; public Collection<User> findByGroupRelationInitiationTimeAndStatus(Group relatedGroup, java.sql.Timestamp firstInitiationDateInPeriode, java.sql.Timestamp lastInitiationDateInPeriode, String[] relationStatus) throws IDOLookupException, FinderException; public User findUserByUniqueId(String uniqueIdString) throws FinderException; public Collection<User> ejbFindUsersBySpecificGroupsUserstatusDateOfBirthAndGender(Collection groups, Collection userStatuses, Integer yearOfBirthFrom, Integer yearOfBirthTo, String gender) throws FinderException; public Collection<User> findByNames(String p0,String p1,String p2, boolean useLoweredValues) throws FinderException; public Collection<User> findByDisplayName(String displayName, boolean useLoweredValue) throws FinderException; public Collection<User> findByPhoneNumber(String phoneNumber) throws FinderException; public Collection <User> ejbFindBySearchRequest(String request, int groupId, int maxAmount, int startingEntry); public Collection <User> ejbFindBySearchRequest(Collection <String> requests, int groupId, int maxAmount, int startingEntry); public Collection <User> ejbAutocompleteRequest(String request, int groupId, int maxAmount, int startingEntry); /** * * @param name is {@link User#getName()}, not <code>null</code>; * @param email is {@link Email#getEmailAddress()}, not <code>null</code>; * @return {@link User}s in data source by given criteria or * {@link Collections#emptyList()} on failure; * @author <a href="mailto:martynas@idega.is">Martynas StakÄ—</a> */ public Collection<User> findAllByNameAndEmail(String name, String email); /** * * <p>Best for autocomplete</p> * @param personalID is part of {@link User#getPersonalID()} to search by, * not <code>null</code>; * @return * @author <a href="mailto:martynas@idega.is">Martynas StakÄ—</a> */ Collection<User> findByFirstPersonalIDLetters(String personalID); }