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


Java IFormElement.getChild方法代码示例

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


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

示例1: decrementHelper

import org.javarosa.core.model.IFormElement; //导入方法依赖的package包/类
private void decrementHelper(List<Integer> indexes, List<Integer> multiplicities, List<IFormElement> elements) {
	int i = indexes.size() - 1;

	if (i != -1) {
		int curIndex = indexes.get(i).intValue();
		int curMult = multiplicities.get(i).intValue();

		if (repeatStructure == REPEAT_STRUCTURE_NON_LINEAR &&
			elements.get(elements.size() - 1) instanceof GroupDef && ((GroupDef)elements.get(elements.size() - 1)).getRepeat() &&
			multiplicities.get(multiplicities.size() - 1).intValue() != TreeReference.INDEX_REPEAT_JUNCTURE) {
			multiplicities.set(i, Integer.valueOf(TreeReference.INDEX_REPEAT_JUNCTURE));
			return;
		} else if (repeatStructure != REPEAT_STRUCTURE_NON_LINEAR && curMult > 0) {
			multiplicities.set(i, Integer.valueOf(curMult - 1));
		} else if (curIndex > 0) {
			// set node to previous element
			indexes.set(i, Integer.valueOf(curIndex - 1));
			multiplicities.set(i, Integer.valueOf(0));
			elements.set(i, (i == 0 ? form : elements.get(i - 1)).getChild(curIndex - 1));

			if (setRepeatNextMultiplicity(elements, multiplicities))
				return;
		} else {
			// at absolute beginning of current level; index to parent
			indexes.remove(i);
			multiplicities.remove(i);
			elements.remove(i);
			return;
		}
	}

	IFormElement element = (i < 0 ? form : elements.get(i));
	while (!(element instanceof QuestionDef)) {
		if(element.getChildren() == null || element.getChildren().size() == 0) {
			//if there are no children we just return the current index (the group itself)
			return;
		}
		int subIndex = element.getChildren().size() - 1;
		element = element.getChild(subIndex);

		indexes.add(Integer.valueOf(subIndex));
		multiplicities.add(Integer.valueOf(0));
		elements.add(element);

		if (setRepeatNextMultiplicity(elements, multiplicities))
			return;
	}
}
 
开发者ID:medic,项目名称:javarosa,代码行数:49,代码来源:FormEntryModel.java

示例2: decrementHelper

import org.javarosa.core.model.IFormElement; //导入方法依赖的package包/类
private void decrementHelper(Vector indexes, Vector multiplicities, Vector elements) {
    int i = indexes.size() - 1;

    if (i != -1) {
        int curIndex = ((Integer)indexes.elementAt(i)).intValue();
        int curMult = ((Integer)multiplicities.elementAt(i)).intValue();

        if (repeatStructure == REPEAT_STRUCTURE_NON_LINEAR &&
                elements.lastElement() instanceof GroupDef && ((GroupDef)elements.lastElement()).getRepeat() &&
                ((Integer)multiplicities.lastElement()).intValue() != TreeReference.INDEX_REPEAT_JUNCTURE) {
            multiplicities.setElementAt(new Integer(TreeReference.INDEX_REPEAT_JUNCTURE), i);
            return;
        } else if (repeatStructure != REPEAT_STRUCTURE_NON_LINEAR && curMult > 0) {
            multiplicities.setElementAt(new Integer(curMult - 1), i);
        } else if (curIndex > 0) {
            // set node to previous element
            indexes.setElementAt(new Integer(curIndex - 1), i);
            multiplicities.setElementAt(new Integer(0), i);
            elements.setElementAt((i == 0 ? form : (IFormElement)elements.elementAt(i - 1)).getChild(curIndex - 1), i);

            if (setRepeatNextMultiplicity(elements, multiplicities))
                return;
        } else {
            // at absolute beginning of current level; index to parent
            indexes.removeElementAt(i);
            multiplicities.removeElementAt(i);
            elements.removeElementAt(i);
            return;
        }
    }

    IFormElement element = (i < 0 ? form : (IFormElement)elements.elementAt(i));
    while (!(element instanceof QuestionDef)) {
        if (element.getChildren().size() == 0) {
            //if there are no children we just return the current index (the group itself)
            return;
        }
        int subIndex = element.getChildren().size() - 1;
        element = element.getChild(subIndex);

        indexes.addElement(new Integer(subIndex));
        multiplicities.addElement(new Integer(0));
        elements.addElement(element);

        if (setRepeatNextMultiplicity(elements, multiplicities))
            return;
    }
}
 
开发者ID:dimagi,项目名称:commcare-j2me,代码行数:49,代码来源:FormEntryModel.java

示例3: decrementHelper

import org.javarosa.core.model.IFormElement; //导入方法依赖的package包/类
private void decrementHelper(Vector<Integer> indexes, Vector<Integer> multiplicities, Vector<IFormElement> elements) {
    int i = indexes.size() - 1;

    if (i != -1) {
        int curIndex = indexes.elementAt(i);
        int curMult = multiplicities.elementAt(i);

        if (repeatStructure == REPEAT_STRUCTURE_NON_LINEAR &&
                elements.lastElement() instanceof GroupDef && ((GroupDef)elements.lastElement()).isRepeat() &&
                multiplicities.lastElement().intValue() != TreeReference.INDEX_REPEAT_JUNCTURE) {
            multiplicities.setElementAt(TreeReference.INDEX_REPEAT_JUNCTURE, i);
            return;
        } else if (repeatStructure != REPEAT_STRUCTURE_NON_LINEAR && curMult > 0) {
            multiplicities.setElementAt(curMult - 1, i);
        } else if (curIndex > 0) {
            // set node to previous element
            indexes.setElementAt(curIndex - 1, i);
            multiplicities.setElementAt(0, i);
            elements.setElementAt((i == 0 ? form : elements.elementAt(i - 1)).getChild(curIndex - 1), i);

            if (setRepeatNextMultiplicity(elements, multiplicities))
                return;
        } else {
            // at absolute beginning of current level; index to parent
            indexes.removeElementAt(i);
            multiplicities.removeElementAt(i);
            elements.removeElementAt(i);
            return;
        }
    }

    IFormElement element = (i < 0 ? form : elements.elementAt(i));
    while (!(element instanceof QuestionDef)) {
        if (element.getChildren().size() == 0) {
            //if there are no children we just return the current index (the group itself)
            return;
        }
        int subIndex = element.getChildren().size() - 1;
        element = element.getChild(subIndex);

        indexes.addElement(subIndex);
        multiplicities.addElement(0);
        elements.addElement(element);

        if (setRepeatNextMultiplicity(elements, multiplicities))
            return;
    }
}
 
开发者ID:dimagi,项目名称:commcare-core,代码行数:49,代码来源:FormEntryModel.java


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