package com.sissi.ucenter.relation.muc.role.impl; import com.sissi.context.JID; import com.sissi.protocol.muc.ItemRole; import com.sissi.ucenter.relation.RelationContext; import com.sissi.ucenter.relation.muc.MucRelationMapping; import com.sissi.ucenter.relation.muc.role.RoleUpdater; /** * 更新角色 * * @author kim 2014年3月17日 */ public class ChangeRoleUpdater implements RoleUpdater { private final ItemRole role; private final MucRelationMapping mapping; private final RelationContext relationContext; public ChangeRoleUpdater(String role, MucRelationMapping mapping, RelationContext relationContext) { super(); this.mapping = mapping; this.role = ItemRole.parse(role); this.relationContext = relationContext; } /* * 更新MUC JID所有资源 * * @see com.sissi.ucenter.relation.muc.role.RoleUpdater#change(com.sissi.context.JID) */ @Override public RoleUpdater change(JID group) { for (JID each : this.mapping.mapping(group)) { this.relationContext.update(each, group, this.support()); } return this; } @Override public String support() { return this.role.toString(); } }