Package org.apache.tapestry5.beanmodel.internal.beanmodel

## Class PropertyModelImpl

- java.lang.Object
- - org.apache.tapestry5.beanmodel.internal.beanmodel.PropertyModelImpl

- All Implemented Interfaces:
    `PropertyModel`, `AnnotationProvider`

      public class PropertyModelImpl
      extends Object
      implements PropertyModel

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `PropertyModelImpl​(BeanModel model, String name, PropertyConduit conduit, Messages messages)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `PropertyModel` | `dataType​(String dataType)` | Changes the data type for the property.
    `<T extends Annotation> T` | `getAnnotation​(Class<T> annotationClass)` | Searches for the specified annotation, returning the matching annotation instance.
    `PropertyConduit` | `getConduit()` | Returns an object used to read or update the property.
    `String` | `getDataType()` | Returns a logical name for the type of UI needed to view or edit the property.
    `String` | `getId()` | Returns the id used to access other resources (this is based on the property name, but with any excess punctuation stripped out).
    `String` | `getLabel()` | Returns a user-presentable label for the property.
    `String` | `getPropertyName()` | Returns the name of the property (which may, in fact, be a property expression).
    `Class` | `getPropertyType()` | Returns the type of the property.
    `boolean` | `isSortable()` | Returns true if the property can be used for sorting.
    `PropertyModel` | `label​(String label)` | Changes the label for the property to the provided value.
    `BeanModel` | `model()` | Returns the containing model, often used for "fluent" construction of the model.
    `PropertyModel` | `sortable​(boolean sortable)` | Updates sortable and returns the model for further changes.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### PropertyModelImpl

          public PropertyModelImpl​(BeanModel model,
                                   String name,
                                   PropertyConduit conduit,
                                   Messages messages)

  - ### Method Detail

    - #### getId

          public String getId()

      Description copied from interface: `PropertyModel`
      Returns the id used to access other resources (this is based on the property name, but with any excess punctuation stripped out).
      Specified by:
        `getId` in interface `PropertyModel`

    - #### getPropertyType

          public Class getPropertyType()

      Description copied from interface: `PropertyModel`
      Returns the type of the property.
      Specified by:
        `getPropertyType` in interface `PropertyModel`

    - #### getConduit

          public PropertyConduit getConduit()

      Description copied from interface: `PropertyModel`
      Returns an object used to read or update the property. For virtual properties (properties that do not actually exist on the bean), the conduit may be null.
      Specified by:
        `getConduit` in interface `PropertyModel`

    - #### label

          public PropertyModel label​(String label)

      Description copied from interface: `PropertyModel`
      Changes the label for the property to the provided value.
      Specified by:
        `label` in interface `PropertyModel`
      Parameters:
        `label` - new label for property
      Returns:
        the property model, for further changes

    - #### getLabel

          public String getLabel()

      Description copied from interface: `PropertyModel`
      Returns a user-presentable label for the property.
      Specified by:
        `getLabel` in interface `PropertyModel`

    - #### getPropertyName

          public String getPropertyName()

      Description copied from interface: `PropertyModel`
      Returns the name of the property (which may, in fact, be a property expression).
      Specified by:
        `getPropertyName` in interface `PropertyModel`

    - #### model

          public BeanModel model()

      Description copied from interface: `PropertyModel`
      Returns the containing model, often used for "fluent" construction of the model.
      Specified by:
        `model` in interface `PropertyModel`

    - #### dataType

          public PropertyModel dataType​(String dataType)

      Description copied from interface: `PropertyModel`
      Changes the data type for the property.
      Specified by:
        `dataType` in interface `PropertyModel`
      Returns:
        the property model, for further changes

    - #### getDataType

          public String getDataType()

      Description copied from interface: `PropertyModel`
      Returns a logical name for the type of UI needed to view or edit the property. This is initially determined from the property type.
      Specified by:
        `getDataType` in interface `PropertyModel`

    - #### isSortable

          public boolean isSortable()

      Description copied from interface: `PropertyModel`
      Returns true if the property can be used for sorting. By default, this is true only if the property type implements Comparable.
      Specified by:
        `isSortable` in interface `PropertyModel`

    - #### sortable

          public PropertyModel sortable​(boolean sortable)

      Description copied from interface: `PropertyModel`
      Updates sortable and returns the model for further changes.
      Specified by:
        `sortable` in interface `PropertyModel`
      Returns:
        the property model, for further changes

    - #### getAnnotation

          public <T extends Annotation> T getAnnotation​(Class<T> annotationClass)

      Description copied from interface: `AnnotationProvider`
      Searches for the specified annotation, returning the matching annotation instance.
      Specified by:
        `getAnnotation` in interface `AnnotationProvider`
      Parameters:
        `annotationClass` - used to select the annotation to return
      Returns:
        the annotation, or null if not found