public NodePointer createChild( JXPathContext context, QName name, int index, Object value) { PropertyPointer prop = (PropertyPointer) clone(); if (name != null) { prop.setPropertyName(name.toString()); } prop.setIndex(index); return prop.createPath(context, value); }
public NodePointer createChild( JXPathContext context, QName name, int index) { PropertyPointer prop = (PropertyPointer) clone(); if (name != null) { prop.setPropertyName(name.toString()); } prop.setIndex(index); return prop.createPath(context); }
dynamicPropertyPointer.setPropertyName(propertyName); position++; return true;
public void setValue(Object value) { if (parent == null || parent.isContainer()) { throw new JXPathInvalidAccessException( "Cannot set property " + asPath() + ", the target object is null"); } if (parent instanceof PropertyOwnerPointer && ((PropertyOwnerPointer) parent) .isDynamicPropertyDeclarationSupported()) { // If the parent property owner can create // a property automatically - let it do so PropertyPointer propertyPointer = ((PropertyOwnerPointer) parent).getPropertyPointer(); propertyPointer.setPropertyName(propertyName); propertyPointer.setValue(value); } else { throw new JXPathInvalidAccessException( "Cannot set property " + asPath() + ", path does not match a changeable location"); } }
/** * Create the child pointer for a given step. * @param parentPointer parent pointer * @param step associated step * @return NodePointer */ private static NodePointer createChildPointerForStep( PropertyOwnerPointer parentPointer, Step step) { int axis = step.getAxis(); if (axis == Compiler.AXIS_CHILD || axis == Compiler.AXIS_ATTRIBUTE) { QName name = ((NodeNameTest) step.getNodeTest()).getNodeName(); if (axis == Compiler.AXIS_ATTRIBUTE && isLangAttribute(name)) { return new LangAttributePointer(parentPointer); } if (parentPointer.isValidProperty(name)) { NodePointer childPointer = parentPointer.getPropertyPointer(); ((PropertyPointer) childPointer).setPropertyName( name.toString()); childPointer.setAttribute(axis == Compiler.AXIS_ATTRIBUTE); return childPointer; } //invalid property gets nothing, not even a NullPointer return null; } return parentPointer; }
PropertyPointer pointer = ((PropertyOwnerPointer) child).getPropertyPointer(); pointer.setPropertyName(key); if (pointer.isActual()) { return doPredicate(