org.apache.tapestry5.services

## Interface BeanModelSource

- All Known Implementing Classes:
    BeanModelSourceImpl

      public interface BeanModelSource

  Used by a component to create a default `BeanModel` for a particular bean class. Also provides support to the model by generating validation information for individual fields.

  BeanModels are the basis for the `BeanEditor` and `Grid` comopnents.
  See Also:
    `PropertyConduitSource`

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `<T> BeanModel<T>` | `create(Class<T> beanClass, boolean filterReadOnlyProperties, Messages messages)` Deprecated. use `createDisplayModel(Class, org.apache.tapestry5.ioc.Messages)` or `createEditModel(Class, org.apache.tapestry5.ioc.Messages)`
    `<T> BeanModel<T>` | `createDisplayModel(Class<T> beanClass, Messages messages)` Creates a model for display purposes; this may include properties which are read-only.
    `<T> BeanModel<T>` | `createEditModel(Class<T> beanClass, Messages messages)` Creates a model for edit and update purposes, only properties that are fully read-write are included.

- - ### Method Detail

    - #### create

          <T> BeanModel<T> create(Class<T> beanClass,
                                boolean filterReadOnlyProperties,
                                Messages messages)

      Deprecated. use `createDisplayModel(Class, org.apache.tapestry5.ioc.Messages)` or `createEditModel(Class, org.apache.tapestry5.ioc.Messages)`
      Creates a new model used for editing the indicated bean class. The model will represent all read/write properties of the bean. The order of properties is determined from the order of the getter methods in the code, and can be overridden with the `ReorderProperties` annotation. The labels for the properties are derived from the property names, but if the component's message catalog has keys of the form `propertyName-label`, then those will be used instead.

      Models are mutable, so they are not cached, a fresh instance is created each time.
      Parameters:
        `beanClass` - class of object to be edited
        `filterReadOnlyProperties` - if true, then properties that are read-only will be skipped (leaving only read-write properties, appropriate for `BeanEditForm`, etc.). If false, then both read-only and read-write properties will be included (appropriate for `Grid` or `BeanDisplay`).
        `messages` - Used to find explicit overrides of
      Returns:
        a model

    - #### createDisplayModel

          <T> BeanModel<T> createDisplayModel(Class<T> beanClass,
                                            Messages messages)

      Creates a model for display purposes; this may include properties which are read-only.
      Parameters:
        `beanClass` - class of object to be edited
        `messages` -
      Returns:
        a model containing properties that can be presented to the user

    - #### createEditModel

          <T> BeanModel<T> createEditModel(Class<T> beanClass,
                                         Messages messages)

      Creates a model for edit and update purposes, only properties that are fully read-write are included.
      Parameters:
        `beanClass` - class of object to be edited
        `messages` -
      Returns:
        a model containing properties that can be presented to the user

${project.version} - Copyright © 2003-2014 The Apache Software Foundation.