diff --git a/platform-dao/src/main/java/ua/com/fielden/platform/entity/query/EntityRetrievalModel.java b/platform-dao/src/main/java/ua/com/fielden/platform/entity/query/EntityRetrievalModel.java index a19e086066..8f20e4c712 100644 --- a/platform-dao/src/main/java/ua/com/fielden/platform/entity/query/EntityRetrievalModel.java +++ b/platform-dao/src/main/java/ua/com/fielden/platform/entity/query/EntityRetrievalModel.java @@ -59,42 +59,21 @@ * * *

Fetch categories

+ * See the documentation {@link FetchCategory} for a description of each category. + *

+ * Some categories deserve more detail: *

    - *
  1. {@link FetchCategory#NONE} - nothing is included. - *
  2. {@link FetchCategory#ID_ONLY} - sole property {@code id} is included. - *
  3. {@link FetchCategory#ID_AND_VERSION} - if entity's nature is - * *
  4. {@link FetchCategory#KEY_AND_DESC} * *
  5. {@link FetchCategory#DEFAULT} * *
  6. {@link FetchCategory#ALL} - equivalent to {@link FetchCategory#DEFAULT} but without special handling of entity-typed * keys and key members. - *
  7. {@link FetchCategory#ALL_INCL_CALC} - equivalent to {@link FetchCategory#ALL} but also includes calculated properties. *
* *

Processing of property {@code key}

diff --git a/platform-pojo-bl/src/main/java/ua/com/fielden/platform/entity/fetch/IFetchProvider.java b/platform-pojo-bl/src/main/java/ua/com/fielden/platform/entity/fetch/IFetchProvider.java index 3116de8bc6..eb2ad93a76 100644 --- a/platform-pojo-bl/src/main/java/ua/com/fielden/platform/entity/fetch/IFetchProvider.java +++ b/platform-pojo-bl/src/main/java/ua/com/fielden/platform/entity/fetch/IFetchProvider.java @@ -12,8 +12,8 @@ *

* Note: all methods throw {@link IllegalArgumentException} in case of malformed dotNotationProperties (if the property does not exist etc.). * + * @see fetch * @author TG Team - * */ public interface IFetchProvider> { /** diff --git a/platform-pojo-bl/src/main/java/ua/com/fielden/platform/entity/query/fluent/fetch.java b/platform-pojo-bl/src/main/java/ua/com/fielden/platform/entity/query/fluent/fetch.java index 2018ea7fe9..83c74e3c4b 100644 --- a/platform-pojo-bl/src/main/java/ua/com/fielden/platform/entity/query/fluent/fetch.java +++ b/platform-pojo-bl/src/main/java/ua/com/fielden/platform/entity/query/fluent/fetch.java @@ -27,17 +27,70 @@ * Represents an entity graph that describes the shape of an entity to be fetched. * * @param entity type + * @see FetchCategory + * @see ua.com.fielden.platform.entity.query.IRetrievalModel */ public class fetch> { public static final String ERR_MISMATCH_BETWEEN_PROPERTY_AND_FETCH_MODEL_TYPES = "Mismatch between actual type [%s] of property [%s] in entity type [%s] and its fetch model type [%s]!"; + /** + * Standard fetch categories. + */ public enum FetchCategory { + /** + * + * Equivalent to {@link #ALL} but also includes calculated properties. + */ ALL_INCL_CALC, - ALL, - DEFAULT, - KEY_AND_DESC, - ID_AND_VERSION, - ID_ONLY, + /** + *

+ */ + ALL, + /** + * Equivalent to {@link #ALL} but with narrower sub-fetch models - only simple keys and key members may have + * a sub-fetch model other than {@link #ID_ONLY}. + */ + DEFAULT, + /** + * + */ + KEY_AND_DESC, + /** + * A slightly broader fetch model than {@link #ID_ONLY}. + * If entity's nature is + * + */ + ID_AND_VERSION, + /** + * Sole property {@code id} is included. + */ + ID_ONLY, + /** + * No properties are included. + */ NONE }