/** * INTERNAL: * Return the value to be stored in the object's attribute. * This value is determined by the query. * In this case, wrap the query in a ValueHolder for later invocation. */ public Object valueFromQuery(ReadQuery query, AbstractRecord row, Object sourceObject, AbstractSession session) { return new QueryBasedValueHolder(query, sourceObject, row, session); }
/** * INTERNAL: * Return the value to be stored in the object's attribute. * This value is determined by the query. * In this case, wrap the query in a ValueHolder for later invocation. */ public Object valueFromQuery(ReadQuery query, AbstractRecord row, AbstractSession session) { return new QueryBasedValueHolder(query, row, session); }
/** * INTERNAL: * Return the value to be stored in the object's attribute. * This value is determined by the query. * In this case, wrap the query in a ValueHolder for later invocation. */ public Object valueFromQuery(ReadQuery query, AbstractRecord row, AbstractSession session) { return new QueryBasedValueHolder(query, row, session); }
/** * INTERNAL: * Return the value to be stored in the object's attribute. * This value is determined by the query. * In this case, wrap the query in a ValueHolder for later invocation. */ public Object valueFromQuery(ReadQuery query, AbstractRecord row, Object sourceObject, AbstractSession session) { return new QueryBasedValueHolder(query, sourceObject, row, session); }
/** * INTERNAL: * Return the value to be stored in the object's attribute. * This value is determined by the query. * In this case, wrap the query in a ValueHolder for later invocation. */ public Object valueFromQuery(ReadQuery query, AbstractRecord row, AbstractSession session) { return new QueryBasedValueHolder(query, row, session); }
/** * INTERNAL: * Return the value to be stored in the object's attribute. * This value is determined by the query. * In this case, wrap the query in an IndirectContainer for later invocation. */ public Object valueFromQuery(ReadQuery query, AbstractRecord row, AbstractSession session) { return this.buildIndirectContainer(new QueryBasedValueHolder(query, row, session)); }
/** * INTERNAL: * A combination of valueFromQuery and valueFromRow(object). * Sometimes the attribute is known (joining) but we still need to hang on * to the query (pessimistic locking). */ public Object valueFromQuery(ReadQuery query, AbstractRecord row, Object object, AbstractSession session) { return this.buildIndirectContainer(new QueryBasedValueHolder(query, object, row, session)); }
/** * INTERNAL: * A combination of valueFromQuery and valueFromRow(object). * Sometimes the attribute is known (joining) but we still need to hang on * to the query (pessimistic locking). */ public Object valueFromQuery(ReadQuery query, AbstractRecord row, Object object, AbstractSession session) { return this.buildIndirectContainer(new QueryBasedValueHolder(query, object, row, session)); }
/** * INTERNAL: * Return the value to be stored in the object's attribute. * This value is determined by the query. * In this case, wrap the query in an IndirectContainer for later invocation. */ public Object valueFromQuery(ReadQuery query, AbstractRecord row, AbstractSession session) { return this.buildIndirectContainer(new QueryBasedValueHolder(query, row, session)); }
/** * INTERNAL: * Return the value to be stored in the object's attribute. * This value is determined by the query. * In this case, wrap the query in an IndirectContainer for later invocation. */ public Object valueFromQuery(ReadQuery query, AbstractRecord row, AbstractSession session) { return this.buildIndirectContainer(new QueryBasedValueHolder(query, row, session)); }
/** * INTERNAL: * Return the value to be stored in the object's attribute. * This will be a proxy object. */ public Object valueFromQuery(ReadQuery query, AbstractRecord row, AbstractSession session) { ClassDescriptor descriptor = null; try { // Need an instance of the implementing class //CR#3838 descriptor = session.getDescriptor(query.getReferenceClass()); if (descriptor.isDescriptorForInterface()) { descriptor = (ClassDescriptor)descriptor.getInterfacePolicy().getChildDescriptors().firstElement(); } } catch (Exception e) { return null; } ValueHolderInterface valueHolder = new QueryBasedValueHolder(query, row, session); return ProxyIndirectionHandler.newProxyInstance(descriptor.getJavaClass(), targetInterfaces, valueHolder); }
/** * INTERNAL: * Return the value to be stored in the object's attribute. * This will be a proxy object. */ public Object valueFromQuery(ReadQuery query, AbstractRecord row, AbstractSession session) { ClassDescriptor descriptor = null; try { // Need an instance of the implementing class //CR#3838 descriptor = session.getDescriptor(query.getReferenceClass()); if (descriptor.isDescriptorForInterface()) { descriptor = descriptor.getInterfacePolicy().getChildDescriptors().get(0); } } catch (Exception e) { return null; } ValueHolderInterface valueHolder = new QueryBasedValueHolder(query, row, session); return ProxyIndirectionHandler.newProxyInstance(descriptor.getJavaClass(), targetInterfaces, valueHolder); }
/** * INTERNAL: * Return the value to be stored in the object's attribute. * This will be a proxy object. */ public Object valueFromQuery(ReadQuery query, AbstractRecord row, AbstractSession session) { ClassDescriptor descriptor = null; try { // Need an instance of the implementing class //CR#3838 descriptor = session.getDescriptor(query.getReferenceClass()); if (descriptor.isDescriptorForInterface()) { descriptor = descriptor.getInterfacePolicy().getChildDescriptors().get(0); } } catch (Exception e) { return null; } ValueHolderInterface valueHolder = new QueryBasedValueHolder(query, row, session); return ProxyIndirectionHandler.newProxyInstance(descriptor.getJavaClass(), targetInterfaces, valueHolder); }