Android Open Source - msf-spaces-sdk-android Space Member






From Project

Back to project page msf-spaces-sdk-android.

License

The source code is released under:

Apache License

If you think the Android project msf-spaces-sdk-android listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package de.imc.mirror.sdk.android;
//w ww. j a  va 2s  .co  m
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;

import org.jdom2.Element;

/**
 * Model for a space member, containing its unique identifier and its role in the space. 
 * @author nmach, simon.schwantzer(at)im-c.de
 */
public class SpaceMember implements Serializable, de.imc.mirror.sdk.SpaceMember {

  private static final long serialVersionUID = 1L;
  private String jid;
  private Role role;
  
  /**
   * Create a new SpaceMember.
   * @param jid The bare-JID of the member.
   * @param role The Role of the member.
   */
  public SpaceMember(String jid, Role role){
    if (!jid.contains("@")){
      throw new IllegalArgumentException("There has to be a domain as part of the jid.");
    }
    if (jid.contains("/")){
      this.jid = jid.split("/")[0];
    }
    else this.jid = jid;
    this.role = role;
  }
  
  /**
   * Returns the user JID of the member.
   * @return Bare-JID of the member.
   */
  @Override
  public String getJID() {
    return jid;
  }

  /**
   * Returns the role of the member.
   * @return <code>SpaceMember.Role.MODERATOR</code> if the member is also moderator of the space, otherwise <code>SpaceMember.Role.MEMBER</code>.
   */
  @Override
  public Role getRole() {
    return role;
  }
  
  @Override
  public int hashCode(){
    return jid.length() + role.name().length();
  }
  
  @Override
  public boolean equals(Object obj){
    if (obj instanceof SpaceMember){
      SpaceMember member = (SpaceMember) obj;
      if (member.getJID().equalsIgnoreCase(this.jid)){
        return true;
      }
    }
    return false;
  }
  
  @Override
  public String toString() {
    StringBuilder builder = new StringBuilder(200);
    builder.append("SpaceMember(")
      .append("jid = ").append(jid)
      .append(", role = ").append(role).append(")");
    return builder.toString();
  }

  private synchronized void writeObject(ObjectOutputStream s) throws IOException{
    Element element = new Element("SpaceMember");
    element.addContent(new Element("jid").setText(jid));
    element.addContent(new Element("role").setText(role.name()));
    s.writeObject(element);
  }
  
  private synchronized void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException{
    Element element = (Element)s.readObject();
    this.jid = element.getChildText("jid");
    this.role = Role.valueOf(element.getChildText("role"));
  }
}




Java Source Code List

de.imc.mirror.sdk.android.CDMDataBuilder.java
de.imc.mirror.sdk.android.CDMData.java
de.imc.mirror.sdk.android.CommandType.java
de.imc.mirror.sdk.android.ConnectionConfigurationBuilder.java
de.imc.mirror.sdk.android.ConnectionConfiguration.java
de.imc.mirror.sdk.android.ConnectionHandler.java
de.imc.mirror.sdk.android.DataHandler.java
de.imc.mirror.sdk.android.DataModel.java
de.imc.mirror.sdk.android.DataObjectBuilder.java
de.imc.mirror.sdk.android.DataObject.java
de.imc.mirror.sdk.android.DataWrapper.java
de.imc.mirror.sdk.android.NetworkInformation.java
de.imc.mirror.sdk.android.OrgaSpace.java
de.imc.mirror.sdk.android.PrivateSpace.java
de.imc.mirror.sdk.android.ProviderInitializer.java
de.imc.mirror.sdk.android.RequestFuture.java
de.imc.mirror.sdk.android.SpaceChannel.java
de.imc.mirror.sdk.android.SpaceConfiguration.java
de.imc.mirror.sdk.android.SpaceHandler.java
de.imc.mirror.sdk.android.SpaceMember.java
de.imc.mirror.sdk.android.Space.java
de.imc.mirror.sdk.android.SpacesProvider.java
de.imc.mirror.sdk.android.TeamSpace.java
de.imc.mirror.sdk.android.UserInfo.java
de.imc.mirror.sdk.android.cdm.CDMData_0_1.java
de.imc.mirror.sdk.android.cdm.CDMData_0_2.java
de.imc.mirror.sdk.android.cdm.CDMData_1_0.java
de.imc.mirror.sdk.android.cdm.CDMData_2_0.java
de.imc.mirror.sdk.android.cdm.CreationInfo.java
de.imc.mirror.sdk.android.cdm.Reference.java
de.imc.mirror.sdk.android.cdm.References.java
de.imc.mirror.sdk.android.cdm.Summary.java
de.imc.mirror.sdk.android.data.ChannelsTable.java
de.imc.mirror.sdk.android.data.DataDB.java
de.imc.mirror.sdk.android.data.DataTable.java
de.imc.mirror.sdk.android.data.MembersTable.java
de.imc.mirror.sdk.android.data.SendTable.java
de.imc.mirror.sdk.android.data.SpacesTable.java
de.imc.mirror.sdk.android.exceptions.InvalidBuildException.java
de.imc.mirror.sdk.android.exceptions.RequestException.java
de.imc.mirror.sdk.android.filter.AndFilter.java
de.imc.mirror.sdk.android.filter.DataModelFilter.java
de.imc.mirror.sdk.android.filter.NamespaceFilter.java
de.imc.mirror.sdk.android.filter.OrFilter.java
de.imc.mirror.sdk.android.filter.PeriodFilter.java
de.imc.mirror.sdk.android.filter.PublisherFilter.java
de.imc.mirror.sdk.android.filter.ReferencesFilter.java
de.imc.mirror.sdk.android.packet.DeleteRequestIQ.java
de.imc.mirror.sdk.android.packet.DeleteResponseIQ.java
de.imc.mirror.sdk.android.packet.PersistenceServiceDeleteProvider.java
de.imc.mirror.sdk.android.packet.PersistenceServiceQueryProvider.java
de.imc.mirror.sdk.android.packet.QueryRequestIQ.java
de.imc.mirror.sdk.android.packet.QueryResponseIQ.java
de.imc.mirror.sdk.android.utils.DatatypeConverter.java
de.imc.mirror.sdk.android.utils.DateToXsdDatetimeFormatter.java
org.apache.xerces.jaxp.datatype.DatatypeFactoryImpl.java
org.apache.xerces.jaxp.datatype.DurationImpl.java
org.apache.xerces.jaxp.datatype.SerializedDuration.java
org.apache.xerces.jaxp.datatype.SerializedXMLGregorianCalendar.java
org.apache.xerces.jaxp.datatype.XMLGregorianCalendarImpl.java
org.apache.xerces.util.DatatypeMessageFormatter.java