当前位置: 首页>>代码示例>>Java>>正文


Java FromMatchesFilter.createFull方法代码示例

本文整理汇总了Java中org.jivesoftware.smack.filter.FromMatchesFilter.createFull方法的典型用法代码示例。如果您正苦于以下问题:Java FromMatchesFilter.createFull方法的具体用法?Java FromMatchesFilter.createFull怎么用?Java FromMatchesFilter.createFull使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.jivesoftware.smack.filter.FromMatchesFilter的用法示例。


在下文中一共展示了FromMatchesFilter.createFull方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: fullCompareMatchingServiceJid

import org.jivesoftware.smack.filter.FromMatchesFilter; //导入方法依赖的package包/类
@Test
public void fullCompareMatchingServiceJid()
{
    FromMatchesFilter filter = FromMatchesFilter.createFull(SERVICE_JID1);
    Stanza packet = new Stanza() {
        @Override
        public String toXML() { return null; }
    };

    packet.setFrom(SERVICE_JID1);
    assertTrue(filter.accept(packet));

    packet.setFrom(SERVICE_JID2);
    assertFalse(filter.accept(packet));

    packet.setFrom(BASE_JID1);
    assertFalse(filter.accept(packet));

    packet.setFrom(FULL_JID1_R1);
    assertFalse(filter.accept(packet));

    packet.setFrom(BASE_JID3);
    assertFalse(filter.accept(packet));
}
 
开发者ID:TTalkIM,项目名称:Smack,代码行数:25,代码来源:FromMatchesFilterTest.java

示例2: changeNickname

import org.jivesoftware.smack.filter.FromMatchesFilter; //导入方法依赖的package包/类
/**
 * Changes the occupant's nickname to a new nickname within the room. Each room occupant
 * will receive two presence packets. One of type "unavailable" for the old nickname and one
 * indicating availability for the new nickname. The unavailable presence will contain the new
 * nickname and an appropriate status code (namely 303) as extended presence information. The
 * status code 303 indicates that the occupant is changing his/her nickname.
 *
 * @param nickname the new nickname within the room.
 * @throws XMPPErrorException if the new nickname is already in use by another occupant.
 * @throws NoResponseException if there was no response from the server.
 * @throws NotConnectedException 
 */
public void changeNickname(String nickname) throws NoResponseException, XMPPErrorException, NotConnectedException  {
    StringUtils.requireNotNullOrEmpty(nickname, "Nickname must not be null or blank.");
    // Check that we already have joined the room before attempting to change the
    // nickname.
    if (!joined) {
        throw new IllegalStateException("Must be logged into the room to change nickname.");
    }
    // We change the nickname by sending a presence packet where the "to"
    // field is in the form "[email protected]/nickname"
    // We don't have to signal the MUC support again
    Presence joinPresence = new Presence(Presence.Type.available);
    joinPresence.setTo(room + "/" + nickname);

    // Wait for a presence packet back from the server.
    StanzaFilter responseFilter =
        new AndFilter(
            FromMatchesFilter.createFull(room + "/" + nickname),
            new StanzaTypeFilter(Presence.class));
    PacketCollector response = connection.createPacketCollectorAndSend(responseFilter, joinPresence);
    // Wait up to a certain number of seconds for a reply. If there is a negative reply, an
    // exception will be thrown
    response.nextResultOrThrow();

    this.nickname = nickname;
}
 
开发者ID:TTalkIM,项目名称:Smack,代码行数:38,代码来源:MultiUserChat.java

示例3: fullCompareMatchingFullJid

import org.jivesoftware.smack.filter.FromMatchesFilter; //导入方法依赖的package包/类
@Test
public void fullCompareMatchingFullJid()
{
    FromMatchesFilter filter = FromMatchesFilter.createFull(FULL_JID1_R1);
    Stanza packet = new Stanza() {
        @Override
        public String toXML() { return null; }
    };

    packet.setFrom(FULL_JID1_R1);
    assertTrue(filter.accept(packet));

    packet.setFrom(BASE_JID1);
    assertFalse(filter.accept(packet));

    packet.setFrom(FULL_JID1_R2);
    assertFalse(filter.accept(packet));

    packet.setFrom(BASE_JID2);
    assertFalse(filter.accept(packet));

    packet.setFrom(FULL_JID2);
    assertFalse(filter.accept(packet));

    packet.setFrom(BASE_JID3);
    assertFalse(filter.accept(packet));
}
 
开发者ID:TTalkIM,项目名称:Smack,代码行数:28,代码来源:FromMatchesFilterTest.java

示例4: fullCompareMatchingBaseJid

import org.jivesoftware.smack.filter.FromMatchesFilter; //导入方法依赖的package包/类
@Test
public void fullCompareMatchingBaseJid()
{
    FromMatchesFilter filter = FromMatchesFilter.createFull(BASE_JID1);
    Stanza packet = new Stanza() {
        @Override
        public String toXML() { return null; }
    };

    packet.setFrom(BASE_JID1);
    assertTrue(filter.accept(packet));

    packet.setFrom(FULL_JID1_R1);
    assertFalse(filter.accept(packet));

    packet.setFrom(FULL_JID1_R2);
    assertFalse(filter.accept(packet));

    packet.setFrom(BASE_JID2);
    assertFalse(filter.accept(packet));

    packet.setFrom(FULL_JID2);
    assertFalse(filter.accept(packet));

    packet.setFrom(BASE_JID3);
    assertFalse(filter.accept(packet));
}
 
开发者ID:TTalkIM,项目名称:Smack,代码行数:28,代码来源:FromMatchesFilterTest.java

示例5: enter

import org.jivesoftware.smack.filter.FromMatchesFilter; //导入方法依赖的package包/类
/**
 * Enter a room, as described in XEP-45 7.2.
 *
 * @param nickname
 * @param password
 * @param history
 * @param timeout
 * @return the returned presence by the service after the client send the initial presence in order to enter the room.
 * @throws NotConnectedException
 * @throws NoResponseException
 * @throws XMPPErrorException
 * @see <a href="http://xmpp.org/extensions/xep-0045.html#enter">XEP-45 7.2 Entering a Room</a>
 */
private Presence enter(String nickname, String password, DiscussionHistory history,
                long timeout) throws NotConnectedException, NoResponseException,
                XMPPErrorException {
    StringUtils.requireNotNullOrEmpty(nickname, "Nickname must not be null or blank.");
    // We enter a room by sending a presence packet where the "to"
    // field is in the form "[email protected]/nickname"
    Presence joinPresence = new Presence(Presence.Type.available);
    joinPresence.setTo(room + "/" + nickname);

    // Indicate the the client supports MUC
    MUCInitialPresence mucInitialPresence = new MUCInitialPresence();
    if (password != null) {
        mucInitialPresence.setPassword(password);
    }
    if (history != null) {
        mucInitialPresence.setHistory(history.getMUCHistory());
    }
    joinPresence.addExtension(mucInitialPresence);

    // Wait for a presence packet back from the server.
    StanzaFilter responseFilter = new AndFilter(FromMatchesFilter.createFull(room + "/"
                    + nickname), new StanzaTypeFilter(Presence.class));

    // Setup the messageListeners and presenceListeners *before* the join presence is send.
    connection.addSyncStanzaListener(messageListener, fromRoomGroupchatFilter);
    connection.addSyncStanzaListener(presenceListener, new AndFilter(fromRoomFilter,
                    StanzaTypeFilter.PRESENCE));
    connection.addSyncStanzaListener(subjectListener, new AndFilter(fromRoomFilter,
                    MessageWithSubjectFilter.INSTANCE));
    connection.addSyncStanzaListener(declinesListener, new AndFilter(new StanzaExtensionFilter(MUCUser.ELEMENT,
                    MUCUser.NAMESPACE), new NotFilter(MessageTypeFilter.ERROR)));
    connection.addPacketInterceptor(presenceInterceptor, new AndFilter(new ToFilter(room),
                    StanzaTypeFilter.PRESENCE));
    messageCollector = connection.createPacketCollector(fromRoomGroupchatFilter);

    Presence presence;
    try {
        presence = connection.createPacketCollectorAndSend(responseFilter, joinPresence).nextResultOrThrow(timeout);
    }
    catch (NoResponseException | XMPPErrorException e) {
        // Ensure that all callbacks are removed if there is an exception
        removeConnectionCallbacks();
        throw e;
    }

    this.nickname = nickname;
    joined = true;

    // Update the list of joined rooms
    multiUserChatManager.addJoinedRoom(room);
    return presence;
}
 
开发者ID:TTalkIM,项目名称:Smack,代码行数:66,代码来源:MultiUserChat.java


注:本文中的org.jivesoftware.smack.filter.FromMatchesFilter.createFull方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。