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


Java DataForm.addField方法代码示例

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


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

示例1: createInitiationAccept

import org.jivesoftware.smackx.xdata.packet.DataForm; //导入方法依赖的package包/类
/**
 * Creates the initiation acceptance stanza(/packet) to forward to the stream
 * initiator.
 *
 * @param streamInitiationOffer The offer from the stream initiator to connect for a stream.
 * @param namespaces            The namespace that relates to the accepted means of transfer.
 * @return The response to be forwarded to the initiator.
 */
protected static StreamInitiation createInitiationAccept(
        StreamInitiation streamInitiationOffer, String[] namespaces)
{
    StreamInitiation response = new StreamInitiation();
    response.setTo(streamInitiationOffer.getFrom());
    response.setFrom(streamInitiationOffer.getTo());
    response.setType(IQ.Type.result);
    response.setStanzaId(streamInitiationOffer.getStanzaId());

    DataForm form = new DataForm(DataForm.Type.submit);
    FormField field = new FormField(
            FileTransferNegotiator.STREAM_DATA_FIELD_NAME);
    for (String namespace : namespaces) {
        field.addValue(namespace);
    }
    form.addField(field);

    response.setFeatureNegotiationForm(form);
    return response;
}
 
开发者ID:TTalkIM,项目名称:Smack,代码行数:29,代码来源:StreamNegotiator.java

示例2: validateRoomWithForm

import org.jivesoftware.smackx.xdata.packet.DataForm; //导入方法依赖的package包/类
@Test
public void validateRoomWithForm() {
    DataForm dataForm = new DataForm(DataForm.Type.result);

    FormField desc = new FormField("muc#roominfo_description");
    desc.addValue("The place for all good witches!");
    dataForm.addField(desc);

    FormField subject = new FormField("muc#roominfo_subject");
    subject.addValue("Spells");
    dataForm.addField(subject);

    FormField occupants = new FormField("muc#roominfo_occupants");
    occupants.addValue("3");
    dataForm.addField(occupants);

    DiscoverInfo discoInfo = new DiscoverInfo();
    discoInfo.addExtension(dataForm);
    RoomInfo roomInfo = new RoomInfo(discoInfo);
    assertEquals("The place for all good witches!", roomInfo.getDescription());
    assertEquals("Spells", roomInfo.getSubject());
    assertEquals(3, roomInfo.getOccupantsCount());
}
 
开发者ID:TTalkIM,项目名称:Smack,代码行数:24,代码来源:RoomInfoTest.java

示例3: requestVoice

import org.jivesoftware.smackx.xdata.packet.DataForm; //导入方法依赖的package包/类
/**
 * Sends a voice request to the MUC. The room moderators usually need to approve this request.
 *
 * @throws NotConnectedException
 * @see <a href="http://xmpp.org/extensions/xep-0045.html#requestvoice">XEP-45 § 7.13 Requesting
 *      Voice</a>
 * @since 4.1
 */
public void requestVoice() throws NotConnectedException {
    DataForm form = new DataForm(DataForm.Type.submit);
    FormField formTypeField = new FormField(FormField.FORM_TYPE);
    formTypeField.addValue(MUCInitialPresence.NAMESPACE + "#request");
    form.addField(formTypeField);
    FormField requestVoiceField = new FormField("muc#role");
    requestVoiceField.setType(FormField.Type.text_single);
    requestVoiceField.setLabel("Requested role");
    requestVoiceField.addValue("participant");
    form.addField(requestVoiceField);
    Message message = new Message(room);
    message.addExtension(form);
    connection.sendStanza(message);
}
 
开发者ID:TTalkIM,项目名称:Smack,代码行数:23,代码来源:MultiUserChat.java

示例4: createDefaultInitiationForm

import org.jivesoftware.smackx.xdata.packet.DataForm; //导入方法依赖的package包/类
private DataForm createDefaultInitiationForm() {
    DataForm form = new DataForm(DataForm.Type.form);
    FormField field = new FormField(STREAM_DATA_FIELD_NAME);
    field.setType(FormField.Type.list_single);
    if (!IBB_ONLY) {
        field.addOption(new FormField.Option(Bytestream.NAMESPACE));
    }
    field.addOption(new FormField.Option(DataPacketExtension.NAMESPACE));
    form.addField(field);
    return form;
}
 
开发者ID:TTalkIM,项目名称:Smack,代码行数:12,代码来源:FileTransferNegotiator.java

示例5: getDataFormToSend

import org.jivesoftware.smackx.xdata.packet.DataForm; //导入方法依赖的package包/类
/**
 * Returns a DataForm that serves to send this Form to the server. If the form is of type 
 * submit, it may contain fields with no value. These fields will be removed since they only 
 * exist to assist the user while editing/completing the form in a UI. 
 * 
 * @return the wrapped DataForm.
 */
public DataForm getDataFormToSend() {
    if (isSubmitType()) {
        // Create a new DataForm that contains only the answered fields 
        DataForm dataFormToSend = new DataForm(getType());
        for(FormField field : getFields()) {
            if (!field.getValues().isEmpty()) {
                dataFormToSend.addField(field);
            }
        }
        return dataFormToSend;
    }
    return dataForm;
}
 
开发者ID:TTalkIM,项目名称:Smack,代码行数:21,代码来源:Form.java

示例6: buildDataForm

import org.jivesoftware.smackx.xdata.packet.DataForm; //导入方法依赖的package包/类
private static void buildDataForm(SimpleUserSearch search,
                String instructions, XmlPullParser parser)
                throws XmlPullParserException, IOException, SmackException {
    DataForm dataForm = new DataForm(DataForm.Type.form);
    boolean done = false;
    dataForm.setTitle("User Search");
    dataForm.addInstruction(instructions);
    while (!done) {
        int eventType = parser.next();

        if (eventType == XmlPullParser.START_TAG && !parser.getNamespace().equals("jabber:x:data")) {
            String name = parser.getName();
            FormField field = new FormField(name);

            // Handle hard coded values.
            if(name.equals("first")){
                field.setLabel("First Name");
            }
            else if(name.equals("last")){
                field.setLabel("Last Name");
            }
            else if(name.equals("email")){
                field.setLabel("Email Address");
            }
            else if(name.equals("nick")){
                field.setLabel("Nickname");
            }

            field.setType(FormField.Type.text_single);
            dataForm.addField(field);
        }
        else if (eventType == XmlPullParser.END_TAG) {
            if (parser.getName().equals("query")) {
                done = true;
            }
        }
        else if (eventType == XmlPullParser.START_TAG && parser.getNamespace().equals("jabber:x:data")) {
            PacketParserUtils.addExtensionElement(search, parser);
            done = true;
        }
    }
    if (search.getExtension("x", "jabber:x:data") == null) {
        search.addExtension(dataForm);
    }
}
 
开发者ID:TTalkIM,项目名称:Smack,代码行数:46,代码来源:UserSearch.java

示例7: parse

import org.jivesoftware.smackx.xdata.packet.DataForm; //导入方法依赖的package包/类
@Override
public DataForm parse(XmlPullParser parser, int initialDepth) throws XmlPullParserException, IOException,
                SmackException {
    DataForm.Type dataFormType = DataForm.Type.fromString(parser.getAttributeValue("", "type"));
    DataForm dataForm = new DataForm(dataFormType);
    outerloop: while (true) {
        int eventType = parser.next();
        switch (eventType) {
        case XmlPullParser.START_TAG:
            String name = parser.getName();
            String namespace = parser.getNamespace();
            switch (name) {
            case "instructions":
                dataForm.addInstruction(parser.nextText());
                break;
            case "title":
                dataForm.setTitle(parser.nextText());
                break;
            case "field":
                dataForm.addField(parseField(parser));
                break;
            case "item":
                dataForm.addItem(parseItem(parser));
                break;
            case "reported":
                dataForm.setReportedData(parseReported(parser));
                break;
            // See XEP-133 Example 32 for a corner case where the data form contains this extension.
            case RosterPacket.ELEMENT:
                if (namespace.equals(RosterPacket.NAMESPACE)) {
                    dataForm.addExtensionElement(RosterPacketProvider.INSTANCE.parse(parser));
                }
                break;
            // See XEP-141 Data Forms Layout
            case DataLayout.ELEMENT:
                if (namespace.equals(DataLayout.NAMESPACE)) {
                    dataForm.addExtensionElement(DataLayoutProvider.parse(parser));
                }
                break;
            }
            break;
        case XmlPullParser.END_TAG:
            if (parser.getDepth() == initialDepth) {
                break outerloop;
            }
            break;
        }
    }
    return dataForm;
}
 
开发者ID:TTalkIM,项目名称:Smack,代码行数:51,代码来源:DataFormProvider.java


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