• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java QuestionDef类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.javarosa.core.model.QuestionDef的典型用法代码示例。如果您正苦于以下问题:Java QuestionDef类的具体用法?Java QuestionDef怎么用?Java QuestionDef使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



QuestionDef类属于org.javarosa.core.model包,在下文中一共展示了QuestionDef类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: getSelectItemText

import org.javarosa.core.model.QuestionDef; //导入依赖的package包/类
/**
 * Attempts to return the specified Item (from a select or 1select) text.
 * Will check for text in the following order:<br/>
 * Localized Text (long form) -> Localized Text (no special form) <br />
 * If no textID is available, method will return this item's labelInnerText.
 * @param sel the selection (item), if <code>null</code> will throw a IllegalArgumentException
 * @return Question Text.  <code>null</code> if no text for this element exists (after all fallbacks).
 * @throws RunTimeException if this method is called on an element that is NOT a QuestionDef
 * @throws IllegalArgumentException if Selection is <code>null</code>
 */
public String getSelectItemText(Selection sel){
	//throw tantrum if this method is called when it shouldn't be or sel==null
	if(!(getFormElement() instanceof QuestionDef)) throw new RuntimeException("Can't retrieve question text for non-QuestionDef form elements!");
	if(sel == null) throw new IllegalArgumentException("Cannot use null as an argument!");

	//Just in case the selection hasn't had a chance to be initialized yet.
	if(sel.index == -1) { sel.attachChoice(this.getQuestion()); }

	//check for the null id case and return labelInnerText if it is so.
	String tid = sel.choice.getTextID();
	if(tid == null || tid == "") return substituteStringArgs(sel.choice.getLabelInnerText());

	//otherwise check for 'long' form of the textID, then for the default form and return
	String returnText;
	returnText = getIText(tid, "long");
	if(returnText == null) returnText = getIText(tid,null);

	return substituteStringArgs(returnText);
}
 
开发者ID:medic,项目名称:javarosa,代码行数:30,代码来源:FormEntryPrompt.java


示例2: getCaptionHierarchy

import org.javarosa.core.model.QuestionDef; //导入依赖的package包/类
/**
 * Returns a hierarchical list of FormEntryCaption objects for the given
 * FormIndex
 *
 * @param index
 * @return list of FormEntryCaptions in hierarchical order
 */
public FormEntryCaption[] getCaptionHierarchy(FormIndex index) {
    List<FormEntryCaption> captions = new ArrayList<FormEntryCaption>();
    FormIndex remaining = index;
    while (remaining != null) {
        remaining = remaining.getNextLevel();
        FormIndex localIndex = index.diff(remaining);
        IFormElement element = form.getChild(localIndex);
        if (element != null) {
            FormEntryCaption caption = null;
            if (element instanceof GroupDef)
                caption = new FormEntryCaption(getForm(), localIndex);
            else if (element instanceof QuestionDef)
                caption = new FormEntryPrompt(getForm(), localIndex);

            if (caption != null) {
                captions.add(caption);
            }
        }
    }
    FormEntryCaption[] captionArray = new FormEntryCaption[captions.size()];
    return captions.toArray(captionArray);
}
 
开发者ID:medic,项目名称:javarosa,代码行数:30,代码来源:FormEntryModel.java


示例3: attachChoice

import org.javarosa.core.model.QuestionDef; //导入依赖的package包/类
public void attachChoice (QuestionDef q) {
	if (q.getDynamicChoices() != null) //can't attach dynamic choices because they aren't guaranteed to exist yet
		return;

	SelectChoice choice = null;

	if (index != -1 && index < q.getNumChoices()) {
		choice = q.getChoice(index);
	} else if (xmlValue != null && xmlValue.length() > 0) {
		choice = q.getChoiceForValue(xmlValue);
	}

	if (choice != null) {
		attachChoice(choice);
	} else {
		throw new XPathTypeMismatchException("value " + xmlValue + " could not be loaded into question " + q.getTextID()
				+ ".  Check to see if value " + xmlValue + " is a valid option for question " + q.getTextID() + ".");
	}
}
 
开发者ID:medic,项目名称:javarosa,代码行数:20,代码来源:Selection.java


示例4: parseUpload

import org.javarosa.core.model.QuestionDef; //导入依赖的package包/类
protected QuestionDef parseUpload(IFormElement parent, Element e, int controlUpload) {
    List<String> usedAtts = new ArrayList<String>();
usedAtts.add("mediatype");
// get media type value
String mediaType = e.getAttributeValue(null, "mediatype");
// parse the control
QuestionDef question = parseControl(parent, e, controlUpload, usedAtts);

// apply the media type value to the returned question def.
if ("image/*".equals(mediaType)) {
	// NOTE: this could be further expanded.
	question.setControlType(Constants.CONTROL_IMAGE_CHOOSE);
} else if("audio/*".equals(mediaType)) {
          question.setControlType(Constants.CONTROL_AUDIO_CAPTURE);
      } else if ("video/*".equals(mediaType)) {
          question.setControlType(Constants.CONTROL_VIDEO_CAPTURE);
      }
      return question;
  }
 
开发者ID:medic,项目名称:javarosa,代码行数:20,代码来源:XFormParser.java


示例5: parseQuestionLabel

import org.javarosa.core.model.QuestionDef; //导入依赖的package包/类
private void parseQuestionLabel (QuestionDef q, Element e) {
	String label = getLabel(e);
	String ref = e.getAttributeValue("", REF_ATTR);

     List<String> usedAtts = new ArrayList<String>();
	usedAtts.add(REF_ATTR);

	if (ref != null) {
		if (ref.startsWith(ITEXT_OPEN) && ref.endsWith(ITEXT_CLOSE)) {
			String textRef = ref.substring(ITEXT_OPEN.length(), ref.indexOf(ITEXT_CLOSE));

			verifyTextMappings(textRef, "Question <label>", true);
			q.setTextID(textRef);
		} else {
			throw new RuntimeException("malformed ref [" + ref + "] for <label>");
		}
	} else {
		q.setLabelInnerText(label);
	}


	if(XFormUtils.showUnusedAttributeWarning(e, usedAtts)){
		reporter.warning(XFormParserReporter.TYPE_UNKNOWN_MARKUP, XFormUtils.unusedAttWarning(e, usedAtts), getVagueLocation(e));
	}
}
 
开发者ID:medic,项目名称:javarosa,代码行数:26,代码来源:XFormParser.java


示例6: parseHint

import org.javarosa.core.model.QuestionDef; //导入依赖的package包/类
private void parseHint (QuestionDef q, Element e) {
     List<String> usedAtts = new ArrayList<String>();
	usedAtts.add(REF_ATTR);
	String hint = getXMLText(e, true);
	String hintInnerText = getLabel(e);
	String ref = e.getAttributeValue("", REF_ATTR);

	if (ref != null) {
		if (ref.startsWith(ITEXT_OPEN) && ref.endsWith(ITEXT_CLOSE)) {
			String textRef = ref.substring(ITEXT_OPEN.length(), ref.indexOf(ITEXT_CLOSE));

			verifyTextMappings(textRef, "<hint>", false);
			q.setHelpTextID(textRef);
		} else {
			throw new RuntimeException("malformed ref [" + ref + "] for <hint>");
		}
	} else {
	    q.setHelpInnerText(hintInnerText);
		q.setHelpText(hint);
	}

	if(XFormUtils.showUnusedAttributeWarning(e, usedAtts)){
		reporter.warning(XFormParserReporter.TYPE_UNKNOWN_MARKUP, XFormUtils.unusedAttWarning(e, usedAtts), getVagueLocation(e));
	}
}
 
开发者ID:medic,项目名称:javarosa,代码行数:26,代码来源:XFormParser.java


示例7: testNonLocalizedText

import org.javarosa.core.model.QuestionDef; //导入依赖的package包/类
public void testNonLocalizedText(){
	FormEntryController fec = fpi.getFormEntryController();
	fec.jumpToIndex(FormIndex.createBeginningOfFormIndex());
	boolean testFlag = false;
	Localizer l = fpi.getFormDef().getLocalizer();

	l.setDefaultLocale(l.getAvailableLocales()[0]);
	l.setLocale(l.getAvailableLocales()[0]);

	do{
		if(fpi.getCurrentQuestion()==null) continue;
		QuestionDef q = fpi.getCurrentQuestion();
		fep = fpi.getFormEntryModel().getQuestionPrompt();
		String t = fep.getQuestionText();
		if(t==null) continue;
		if(t.equals("Non-Localized label inner text!")) testFlag = true;


	}while(fec.stepToNextEvent()!=FormEntryController.EVENT_END_OF_FORM);

	if(!testFlag) fail("Failed to fallback to labelInnerText in testNonLocalizedText()");
}
 
开发者ID:medic,项目名称:javarosa,代码行数:23,代码来源:TextFormTests.java


示例8: testFlagObservers

import org.javarosa.core.model.QuestionDef; //导入依赖的package包/类
public void testFlagObservers () {
	QuestionDef q = new QuestionDef();

	QuestionObserver qo = new QuestionObserver();
	q.registerStateObserver(qo);

	if (qo.flag || qo.q != null || qo.flags != 0) {
		fail("Improper state in question observer");
	}

	q.unregisterStateObserver(qo);
	
	if (qo.flag) {
		fail("Localization observer updated after unregistered");
	}
}
 
开发者ID:medic,项目名称:javarosa,代码行数:17,代码来源:QuestionDefTest.java


示例9: testAnswerConstraint

import org.javarosa.core.model.QuestionDef; //导入依赖的package包/类
public void testAnswerConstraint(){
	IntegerData ans = new IntegerData(13);
	FormEntryController fec = fpi.getFormEntryController();
	fec.jumpToIndex(FormIndex.createBeginningOfFormIndex());
	
	do{
		
		QuestionDef q = fpi.getCurrentQuestion();
		if(q==null || q.getTextID() == null || q.getTextID() == "")continue;
		if(q.getTextID().equals("constraint-test")){
			int response = fec.answerQuestion(ans, true);
			if(response == FormEntryController.ANSWER_CONSTRAINT_VIOLATED){
				fail("Answer Constraint test failed.");
			}else if(response == FormEntryController.ANSWER_OK){
				break;
			}else{
				fail("Bad response from fec.answerQuestion()");
			}
		}
	}while(fec.stepToNextEvent()!=FormEntryController.EVENT_END_OF_FORM);
}
 
开发者ID:medic,项目名称:javarosa,代码行数:22,代码来源:FormDefTest.java


示例10: createSimpleGroupReference

import org.javarosa.core.model.QuestionDef; //导入依赖的package包/类
public static FormDef createSimpleGroupReference() {
	FormDef theform = new FormDef();
	
	QuestionDef question1 = new QuestionDef();
	GroupDef group1 = new GroupDef();
	QuestionDef question11 = new QuestionDef();
	QuestionDef question12 = new QuestionDef();
	group1.addChild(question11);
	group1.addChild(question12);
	QuestionDef question2 = new QuestionDef();
	theform.addChild(question1);
	theform.addChild(group1);
	theform.addChild(question2);
	
	return theform;
}
 
开发者ID:medic,项目名称:javarosa,代码行数:17,代码来源:FormDefConstructionUtils.java


示例11: createView

import org.javarosa.core.model.QuestionDef; //导入依赖的package包/类
public void createView() {

        //#if javarosa.usepolishlocalisation
        //setHint(Locale.get("hint.TypeOrScan"));
        //#else
        setHint("Type in your answer");
        //#endif

        //#style textBox
         tf = new TextField("", "", 200, TextField.ANY);
         if(qDef.instanceNode.required)
                tf.setLabel("*"+((QuestionDef)qDef.element).getLongText()); //visual symbol for required
                else
                    tf.setLabel(((QuestionDef)qDef.element).getLongText());
        this.append(tf);
        this.addNavigationButtons();
        if (((QuestionDef)qDef.element).getHelpText()!=null){
            setHint(((QuestionDef)qDef.element).getHelpText());
        }

    }
 
开发者ID:dimagi,项目名称:commcare-j2me,代码行数:22,代码来源:BarcodeQuestionWidget.java


示例12: getSelectItemText

import org.javarosa.core.model.QuestionDef; //导入依赖的package包/类
/**
 * Attempts to return the specified Item (from a select or 1select) text.
 * Will check for text in the following order:<br/>
 * Localized Text (long form) -> Localized Text (no special form) <br />
 * If no textID is available, method will return this item's labelInnerText.
 *
 * @param sel the selection (item), if <code>null</code> will throw a IllegalArgumentException
 * @return Question Text.  <code>null</code> if no text for this element exists (after all fallbacks).
 * @throws IllegalArgumentException if Selection is <code>null</code>
 */
public String getSelectItemText(Selection sel) {
    //throw tantrum if this method is called when it shouldn't be or sel==null
    if (!(getFormElement() instanceof QuestionDef))
        throw new RuntimeException("Can't retrieve question text for non-QuestionDef form elements!");
    if (sel == null) throw new IllegalArgumentException("Cannot use null as an argument!");

    //Just in case the selection hasn't had a chance to be initialized yet.
    if (sel.index == -1) {
        sel.attachChoice(this.getQuestion());
    }

    //check for the null id case and return labelInnerText if it is so.
    String tid = sel.choice.getTextID();
    if (tid == null || "".equals(tid)) {
        return substituteStringArgs(sel.choice.getLabelInnerText());
    }

    //otherwise check for 'long' form of the textID, then for the default form and return
    String returnText;
    returnText = getIText(tid, "long");
    if (returnText == null) returnText = getIText(tid, null);

    return substituteStringArgs(returnText);
}
 
开发者ID:dimagi,项目名称:commcare-j2me,代码行数:35,代码来源:FormEntryPrompt.java


示例13: attachChoice

import org.javarosa.core.model.QuestionDef; //导入依赖的package包/类
public void attachChoice(QuestionDef q) {
    if (q.getDynamicChoices() != null) //can't attach dynamic choices because they aren't guaranteed to exist yet
        return;

    SelectChoice choice = null;

    if (index != -1 && index < q.getNumChoices()) {
        choice = q.getChoice(index);
    } else if (xmlValue != null && xmlValue.length() > 0) {
        choice = q.getChoiceForValue(xmlValue);
    }

    if (choice != null) {
        attachChoice(choice);
    } else {
        throw new XPathTypeMismatchException("value " + xmlValue + " could not be loaded into question " + q.getTextID()
                + ".  Check to see if value " + xmlValue + " is a valid option for question " + q.getTextID() + ".");
    }
}
 
开发者ID:dimagi,项目名称:commcare-j2me,代码行数:20,代码来源:Selection.java


示例14: parseUpload

import org.javarosa.core.model.QuestionDef; //导入依赖的package包/类
protected QuestionDef parseUpload(IFormElement parent, Element e, int controlUpload) {
    Vector<String> usedAtts = new Vector<String>();
    usedAtts.addElement("mediatype");

    QuestionDef question = parseControl(parent, e, controlUpload, usedAtts);

    String mediaType = e.getAttributeValue(null, "mediatype");
    if ("image/*".equals(mediaType)) {
        // NOTE: this could be further expanded. 
        question.setControlType(Constants.CONTROL_IMAGE_CHOOSE);
    } else if ("audio/*".equals(mediaType)) {
        question.setControlType(Constants.CONTROL_AUDIO_CAPTURE);
    } else if ("video/*".equals(mediaType)) {
        question.setControlType(Constants.CONTROL_VIDEO_CAPTURE);
    }

    return question;
}
 
开发者ID:dimagi,项目名称:commcare-j2me,代码行数:19,代码来源:XFormParser.java


示例15: parseControlChildren

import org.javarosa.core.model.QuestionDef; //导入依赖的package包/类
private void parseControlChildren(Element e, QuestionDef question, IFormElement parent,
                                  boolean isSelect) {
    for (int i = 0; i < e.getChildCount(); i++) {
        int type = e.getType(i);
        Element child = (type == Node.ELEMENT ? e.getElement(i) : null);
        if (child == null) {
            continue;
        }
        String childName = child.getName();

        if (LABEL_ELEMENT.equals(childName) || HINT_ELEMENT.equals(childName)
                || HELP_ELEMENT.equals(childName) || CONSTRAINT_ELEMENT.equals(childName)) {
            parseHelperText(question, child);
        } else if (isSelect && "item".equals(childName)) {
            parseItem(question, child);
        } else if (isSelect && "itemset".equals(childName)) {
            parseItemset(question, child);
        } else if (actionHandlers.containsKey(childName)) {
            actionHandlers.get(childName).handle(this, child, question);
        }
    }
}
 
开发者ID:dimagi,项目名称:commcare-j2me,代码行数:23,代码来源:XFormParser.java


示例16: testNonLocalizedText

import org.javarosa.core.model.QuestionDef; //导入依赖的package包/类
@Test
public void testNonLocalizedText() {
    FormEntryController fec = fpi.getFormEntryController();
    fec.jumpToIndex(FormIndex.createBeginningOfFormIndex());
    boolean testFlag = false;
    Localizer l = fpi.getFormDef().getLocalizer();

    l.setDefaultLocale(l.getAvailableLocales()[0]);
    l.setLocale(l.getAvailableLocales()[0]);

    do {
        if (fpi.getCurrentQuestion() == null) continue;
        QuestionDef q = fpi.getCurrentQuestion();
        fep = fpi.getFormEntryModel().getQuestionPrompt();
        String t = fep.getQuestionText();
        if (t == null) continue;
        if (t.equals("Non-Localized label inner text!")) testFlag = true;


    } while (fec.stepToNextEvent() != FormEntryController.EVENT_END_OF_FORM);

    if (!testFlag) fail("Failed to fallback to labelInnerText in testNonLocalizedText()");
}
 
开发者ID:dimagi,项目名称:commcare-j2me,代码行数:24,代码来源:TextFormTests.java


示例17: testSelectChoiceIDsNoLocalizer

import org.javarosa.core.model.QuestionDef; //导入依赖的package包/类
@Test
public void testSelectChoiceIDsNoLocalizer() {

    QuestionDef q = fpi.getFirstQuestionDef();

    q.addSelectChoice(new SelectChoice("choice1 id", "val1"));
    q.addSelectChoice(new SelectChoice("loc: choice2", "val2", false));

    if (!fep.getSelectChoices().toString().equals("[{choice1 id} => val1, loc: choice2 => val2]")) {
        fail("Could not add individual select choice ID" + fep.getSelectChoices().toString());
    }


    //clean up
    q.removeSelectChoice(q.getChoices().elementAt(0));
    q.removeSelectChoice(q.getChoices().elementAt(0));
}
 
开发者ID:dimagi,项目名称:commcare-j2me,代码行数:18,代码来源:TextFormTests.java


示例18: testPromptIDsNoLocalizer

import org.javarosa.core.model.QuestionDef; //导入依赖的package包/类
@Test
public void testPromptIDsNoLocalizer() {
    QuestionDef q = new QuestionDef();

    q.setTextID("long text id");
    if (!"long text id".equals(q.getTextID())) {
        fail("Long text ID getter/setter broken");
    }

    QuestionString hint = new QuestionString("hint");
    hint.setTextId("hint text id");
    q.putQuestionString("hint", hint);
    if (!"hint text id".equals(q.getQuestionString("hint").getTextId())) {
        fail("hint text ID getter/setter broken");
    }
}
 
开发者ID:dimagi,项目名称:commcare-j2me,代码行数:17,代码来源:TextFormTests.java


示例19: setUp

import org.javarosa.core.model.QuestionDef; //导入依赖的package包/类
@BeforeClass
public static void setUp() {
    question = new QuestionDef();
    question.setID(57);

    OrderedHashtable oh = new OrderedHashtable();
    Vector v = new Vector();
    for (int i = 0; i < 3; i++) {
        question.addSelectChoice(new SelectChoice("", "Selection" + i, "Selection" + i, false));
    }

    one = new Selection("Selection1");
    one.attachChoice(question);
    two = new Selection("Selection2");
    two.attachChoice(question);
}
 
开发者ID:dimagi,项目名称:commcare-j2me,代码行数:17,代码来源:SelectOneDataTests.java


示例20: testFlagObservers

import org.javarosa.core.model.QuestionDef; //导入依赖的package包/类
@Test
public void testFlagObservers() {
    QuestionDef q = new QuestionDef();

    QuestionObserver qo = new QuestionObserver();
    q.registerStateObserver(qo);

    if (qo.flag || qo.q != null || qo.flags != 0) {
        fail("Improper state in question observer");
    }

    q.unregisterStateObserver(qo);

    if (qo.flag) {
        fail("Localization observer updated after unregistered");
    }
}
 
开发者ID:dimagi,项目名称:commcare-j2me,代码行数:18,代码来源:QuestionDefTest.java



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java HighPerformanceSpriteVertexBufferObject类代码示例发布时间:2022-05-22
下一篇:
Java Rdn类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap