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

  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 Details

  - ### PropertyModelImpl

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

- ## Method Details

  - ### 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