package com.idega.user.data;
import com.idega.data.IDOReportableEntity;
public interface User extends com.idega.data.IDOEntity,com.idega.user.data.Group,com.idega.core.user.data.User, IDOReportableEntity
{
public static final String FIELD_USER_ID = "IC_USER_ID";
public static final String FIELD_FIRST_NAME = "FIRST_NAME";
public static final String FIELD_MIDDLE_NAME = "MIDDLE_NAME";
public static final String FIELD_LAST_NAME = "LAST_NAME";
public static final String FIELD_DISPLAY_NAME = "DISPLAY_NAME";
public static final String FIELD_DESCRIPTION = "DESCRIPTION";
public static final String FIELD_DATE_OF_BIRTH = "DATE_OF_BIRTH";
public static final String FIELD_GENDER = "IC_GENDER_ID";
public static final String FIELD_SYSTEM_IMAGE_ID = "SYSTEM_IMAGE_ID";
public static final String FIELD_PRIMARY_GROUP_ID = "PRIMARY_GROUP";
public static final String FIELD_PERSONAL_ID = "PERSONAL_ID";
public static final String FIELD_HOME_PAGE_ID = "HOME_PAGE_ID";
public static final String FIELD_DELETED = "DELETED";
public static final String FIELD_DELETED_BY = "DELETED_BY";
public static final String FIELD_DELETED_WHEN = "DELETED_WHEN";
public static final String USER_GROUP_TYPE="ic_user_representative";
public void setPrimaryGroupID(java.lang.Integer p0);
public int getHomePageID();
public void setDateOfBirth(java.sql.Date p0);
//public java.lang.String getNameLastFirst();
public void setHomePageID(int p0);
public java.util.Collection getEmails();
public com.idega.core.builder.data.ICPage getHomePage();
public java.util.Collection getPhones();
public java.util.Collection getPhones(String phoneTypeID);
public void setGender(java.lang.Integer p0);
public void addUser(com.idega.user.data.User p0);
public void setFirstName(java.lang.String p0);
public void addGroup(com.idega.user.data.Group p0)throws javax.ejb.EJBException;
public com.idega.core.data.ICTreeNode getChildAtIndex(int p0);
public void setGender(int p0);
public void setCreated(java.sql.Timestamp p0);
public java.sql.Date getDateOfBirth();
public java.lang.String getFirstName();
public void removeAddress(com.idega.core.location.data.Address p0)throws com.idega.data.IDORemoveRelationshipException;
public int getSystemImageID();
public int getIndex(com.idega.core.data.ICTreeNode p0);
public void setSystemImageID(java.lang.Integer p0);
public void setLastName(java.lang.String p0);
public void setGroupType(java.lang.String p0);
public int getNodeID();
public int getPrimaryGroupID();
public void setExtraInfo(java.lang.String p0);
public int getChildCount();
public void addEmail(com.idega.core.contact.data.Email p0)throws com.idega.data.IDOAddRelationshipException;
public boolean isLeaf();
public void setFullName(java.lang.String p0);
public void removeEmail(com.idega.core.contact.data.Email p0)throws com.idega.data.IDORemoveRelationshipException;
public java.util.List getListOfAllGroupsContaining(int p0)throws javax.ejb.EJBException;
public java.util.Iterator getChildrenIterator();
public java.util.Collection getAddresses();
public boolean isUser();
public java.lang.String getGroupType();
public java.lang.String getName();
public java.lang.String getExtraInfo();
public java.lang.String getPersonalID();
public void setPersonalID(java.lang.String p0);
public void setPrimaryGroupID(int p0);
public java.lang.String getNodeName();
public void setHomePageID(java.lang.Integer p0);
public void setSystemImageID(int p0);
public void removeGroup(com.idega.user.data.Group p0)throws javax.ejb.EJBException;
public java.util.List getParentGroups();
public java.util.Collection getAllGroupsContainingUser(com.idega.user.data.User p0)throws javax.ejb.EJBException;
public java.util.List getChildGroups(java.lang.String[] p0,boolean p1)throws javax.ejb.EJBException;
public java.lang.String getLastName();
public int getGroupID();
public java.lang.String getGroupTypeKey();
public void addAddress(com.idega.core.location.data.Address p0)throws com.idega.data.IDOAddRelationshipException;
public void setDescription(java.lang.String p0);
public void setDisplayName(java.lang.String p0);
public void addGroup(int p0)throws javax.ejb.EJBException;
public void removeGroup(int p0,boolean p1)throws javax.ejb.EJBException;
public void removeGroup()throws javax.ejb.EJBException;
public java.util.List getChildGroups()throws javax.ejb.EJBException;
public com.idega.user.data.Group getUserGroup();
public com.idega.core.data.ICTreeNode getParentNode();
public java.lang.String getDisplayName();
public void removeUser(com.idega.user.data.User p0);
public com.idega.user.data.Group getGroup();
public boolean getAllowsChildren();
public java.lang.String getGroupTypeDescription();
public java.lang.String getDescription();
public int getGenderID();
public com.idega.user.data.Gender getGender();
public com.idega.user.data.Group getPrimaryGroup();
public java.sql.Timestamp getCreated();
public void setHomePage(com.idega.core.builder.data.ICPage p0);
public void removeAllAddresses()throws com.idega.data.IDORemoveRelationshipException;
public void addPhone(com.idega.core.contact.data.Phone p0)throws com.idega.data.IDOAddRelationshipException;
public void initializeAttributes();
public boolean getGroupTypeVisibility();
public void setGroupID(int p0);
public void removePhone(com.idega.core.contact.data.Phone p0)throws com.idega.data.IDORemoveRelationshipException;
public java.lang.String getMiddleName();
public void setMiddleName(java.lang.String p0);
//public java.lang.String getNameLastFirst(boolean p0);
public void removeAllEmails()throws com.idega.data.IDORemoveRelationshipException;
public void removeAllPhones()throws com.idega.data.IDORemoveRelationshipException;
public void setPrimaryGroup(com.idega.user.data.Group p0);
public java.lang.String getGroupTypeValue();
public java.lang.String getIDColumnName();
public boolean getDeleted();
public void setDeleted(boolean isDeleted);
public int getDeletedBy();
public void setDeletedBy(int userId);
public java.sql.Timestamp getDeletedWhen();
public void setDeletedWhen(java.sql.Timestamp p0);
public void delete(int p0)throws java.sql.SQLException;
public boolean equals(com.idega.data.IDOEntity entity);
public com.idega.core.localisation.data.ICLanguage getNativeLanguage();
public void setNativeLanguage(int ICLanguageID);
public void setNativeLanguage(com.idega.core.localisation.data.ICLanguage language);
public boolean hasValidIcelandicSSN();
public boolean isDeceased();
}