package com.smartgwt.client.docs;


/*
 * Smart GWT (GWT for SmartClient)
 * Copyright 2008 and beyond, Isomorphic Software, Inc.
 *
 * Smart GWT is free software; you can redistribute it and/or modify it
 * under the terms of the GNU Lesser General Public License version 3
 * as published by the Free Software Foundation.  Smart GWT is also
 * available under typical commercial license terms - see
 * http://smartclient.com/license
 *
 * This software is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * Lesser General Public License for more details.
 */
/* sgwtgen */
 
/**
 * A dot-notation string referencing a field on a related DataSource, used as a <code>fieldName</code> or
 * <code>valuePath</code> within ServerDynamicCriteria. <P> <b>Forms:</b> <ul> <li><code>DS.field</code> &mdash; traverse
 * the default FK to     <code>DS</code> and read <code>field</code>     (e.g. <code>Order.status</code>)</li>
 * <li><code>fkField:DS.field</code> &mdash; when multiple FK     fields on the current DataSource point to the same    
 * target DataSource, <code>fkField</code> specifies     which one to follow     (e.g.
 * <code>processorId:Employee.workStatus</code>     where both <code>processorId</code> and     <code>managerId</code> are
 * FKs to Employee)</li> <li><code>DS1.DS2.field</code> &mdash; multi-hop traversal     through intermediate DataSources   
 * (e.g. <code>Order.Customer.region</code>)</li> <li><code>DS.field.#count</code>,     <code>DS.field.#sum</code>, etc.
 * &mdash; aggregation     shorthand for one-to-many relations     (e.g. <code>OrderLine.#count</code>,    
 * <code>OrderLine.amount.#sum</code>)</li> </ul> The syntax is shared with {@link
 * com.smartgwt.client.docs.serverds.DataSourceField#includeVia DataSourceField.includeVia} and <code>queryFK</code>. The
 * last dot-separated segment is always the target field (or <code>#aggregation</code> function); everything before it
 * identifies the relation path.  Non-aggregation references traverse many-to-one relations (looking up a parent record via
 * FK).  With aggregation shorthand, one-to-many relations are also supported.
 */
public interface RelationalReference  {
}
