@Override public URI getBaseURI() { return parent.getBaseURI(); }
/** * Wrap any {@link ModelObject} object into an implementation of * {@link XmlObject}. * * @param <X> * Type of desired {@link XmlObject} interface. * @param ModelObject * Model object to be wrapped. * @param xmlObjectClassOrInterface * Desired {@link XmlObject} interface class. For convenience, * one can also provide directly the desired implementation class * to prevent unnecessary lookup in * {@link XmlObjectClassRegistry}. * @return Newly created concrete {@link XmlObject}. */ @SuppressWarnings("unchecked") public <X extends XmlObjectNode> X wrap(Object obj, Class<X> xmlObjectClassOrInterface) { if (obj instanceof ModelObject) { ModelObject modelObject = (ModelObject) obj; if (modelObject.getXmlObject() != null) return (X) modelObject.getXmlObject(); } if (xmlObjectClassOrInterface.isInterface()) { return doWrapGivenXmlObjectInterfaceClass(obj, xmlObjectClassOrInterface); } else { return doWrapGivenXmlObjectImplClass(obj, xmlObjectClassOrInterface); } }
/** * Wrap any {@link ModelObject} object into an implementation of * {@link XmlObject}. Implementation class is guessed from known * meta-information. If a QName is provided, it can be used as well. * * @param obj * Internal model object to be wrapped. * @return Newly created concrete {@link XmlObject}. */ public XmlObjectNode wrap(Object obj) { if (obj instanceof ModelObject) { ModelObject modelObject = (ModelObject) obj; if (modelObject.getXmlObject() != null) return modelObject.getXmlObject(); } for (XmlObjectBinding xob : xmlContext.getXmlObjectBindings()) { if (xob.canWrap(obj)) { return xob.wrap(xmlContext, obj); } } throw new UncheckedException( String.format( "Cannot find an XmlObjectBinding capable of wrapping object class '%s'.", obj.getClass())); }
@Override public URI getBaseURI() { if (parentModelObject == null) return null; return parentModelObject.getBaseURI(); }
@Override public URI getBaseURI() { return parent.getBaseURI(); }