package com.sissi.ucenter.relation; import java.util.Set; import com.sissi.context.JID; /** * @author kim 2013-11-13 */ public interface RelationContext { /** * 建立订阅关系 * * @param from 发起人 * @param relation 初始关系 * @return */ public RelationContext establish(JID from, Relation relation); /** * 更新订阅关系 * * @param from 发起人 * @param to 接收人 * @param state 订阅关系状态 * @return */ public RelationContext update(JID from, JID to, String state); /** * 解除订阅关系 * * @param from * @param to * @return */ public RelationContext remove(JID from, JID to); /** * 获取订阅关系 * * @param from * @param to * @return */ public Relation ourRelation(JID from, JID to); /** * 所有订阅关系 * * @param from * @return */ public Set<Relation> myRelations(JID from); /** * 谁订阅了我 * * @param from * @return */ public Set<JID> whoSubscribedMe(JID from); /** * 我订阅了谁 * * @param from * @return */ public Set<JID> iSubscribedWho(JID from); }