public NodePointer getValuePointer() { return new NullPointer(this, getName()); }
public NodePointer createPath(JXPathContext context, Object value) { if (parent != null) { return parent.createPath(context, value).getValuePointer(); } throw new UnsupportedOperationException( "Cannot create the root object: " + asPath()); }
public NodePointer createChild( JXPathContext context, QName name, int index, Object value) { return createPath(context).createChild(context, name, index, value); }
public NodePointer createNodePointer(NodePointer parent, QName name, Object bean) { if (bean == null) { return new NullPointer(parent, name); } JXPathBeanInfo bi = JXPathIntrospector.getBeanInfo(bean.getClass()); return new BeanPointer(parent, name, bean, bi); } }
public NodePointer createPath(JXPathContext context) { if (parent != null) { return parent.createPath(context).getValuePointer(); } throw new UnsupportedOperationException( "Cannot create the root object: " + asPath()); }
/** * ノードポインタを生成する。 * @param parent 親のポインタ * @param name QName * @param bean ターゲットとなるBean * @return Beanポインタ */ @Override public NodePointer createNodePointer( NodePointer parent, QName name, Object bean) { if (bean == null) { return new NullPointer(parent, name); } JXPathBeanInfo bi = JXPathIntrospector.getBeanInfo(bean.getClass()); return new BeanPointerEx(parent, name, bean, bi); } }
/** * Locates a node by ID. * @param context starting context * @param id to find * @return Pointer */ public Pointer getPointerByID(JXPathContext context, String id) { Document document = node.getNodeType() == Node.DOCUMENT_NODE ? (Document) node : node.getOwnerDocument(); Element element = document.getElementById(id); return element == null ? (Pointer) new NullPointer(getLocale(), id) : new DOMNodePointer(element, getLocale(), id); }
public NodePointer getValuePointer() { return new NullPointer(this, new QName(getPropertyName())); }
/** * {@inheritDoc}. Find a const's id. */ @Override public Pointer getPointerByID(JXPathContext xpc, String id) { Object value = getConst(id, true); if (value == null) { return new NullPointer(null, id); } else { return new BeanPointerFactory().createNodePointer(null, value, null); // return new BeanPointer(null, value, // JXPathIntrospector.getBeanInfo(value.getClass()), null); } }
/** * {@inheritDoc}. Find a const's id. */ @Override public Pointer getPointerByID(JXPathContext xpc, String id) { Object value = getConst(id, true); if (value == null) { return new NullPointer(null, id); } else { return new BeanPointerFactory().createNodePointer(null, value, null); // return new BeanPointer(null, value, // JXPathIntrospector.getBeanInfo(value.getClass()), null); } }
/** * Allocates an entirely new NodePointer by iterating through all installed * NodePointerFactories until it finds one that can create a pointer. * @param name QName * @param bean Object * @param locale Locale * @return NodePointer */ public static NodePointer newNodePointer( QName name, Object bean, Locale locale) { NodePointer pointer = null; if (bean == null) { pointer = new NullPointer(name, locale); return pointer; } NodePointerFactory[] factories = JXPathContextReferenceImpl.getNodePointerFactories(); for (int i = 0; i < factories.length; i++) { pointer = factories[i].createNodePointer(name, bean, locale); if (pointer != null) { return pointer; } } throw new JXPathException( "Could not allocate a NodePointer for object of " + bean.getClass()); }
public NodePointer createNodePointer( NodePointer parent, QName name, Object bean) { if (bean == null) { return new NullPointer(parent, name); } JXPathBeanInfo bi = JXPathIntrospector.getBeanInfo(bean.getClass()); if (bi.isDynamic()) { DynamicPropertyHandler handler = ValueUtils.getDynamicPropertyHandler( bi.getDynamicPropertyHandlerClass()); return new DynamicPointer(parent, name, bean, handler); } return null; } }
/** * ノードポインタを生成する。 * @param parent 親Mapポインタ * @param name QName * @param bean ターゲットのMap * @return Map用ポインタ */ @Override public NodePointer createNodePointer( NodePointer parent, QName name, Object bean) { if (bean == null) { return new NullPointer(parent, name); } JXPathBeanInfo bi = JXPathIntrospector.getBeanInfo(bean.getClass()); if (bi.isDynamic()) { DynamicPropertyHandler handler = ValueUtils.getDynamicPropertyHandler( bi.getDynamicPropertyHandlerClass()); return new DynamicPointerEx(parent, name, bean, handler); } return null; } }