Class BeanModelImpl<T>

java.lang.Object
org.apache.tapestry5.beanmodel.internal.beanmodel.BeanModelImpl<T>
All Implemented Interfaces:
BeanModel<T>

public class BeanModelImpl<T> extends Object implements BeanModel<T>
  • Constructor Details

  • Method Details

    • getBeanType

      public Class<T> getBeanType()
      Description copied from interface: BeanModel
      Returns the type of bean for which this model was initially created.
      Specified by:
      getBeanType in interface BeanModel<T>
    • newInstance

      public T newInstance()
      Description copied from interface: BeanModel
      Creates a new bean instance. This is based on ObjectLocator.autobuild(Class), so a public constructor will be used, and dependencies injected.
      Specified by:
      newInstance in interface BeanModel<T>
      Returns:
      new instance of the bean
    • add

      public PropertyModel add(String propertyName)
      Description copied from interface: BeanModel
      Adds a new property to the model, returning its mutable model for further refinement. The property is added to the end of the list of properties. The property must be real (but may have been excluded if there was no datatype associated with the property). To add a synthetic property, use BeanModel.add(String, org.apache.tapestry5.beanmodel.PropertyConduit)
      Specified by:
      add in interface BeanModel<T>
      Parameters:
      propertyName - name of property to add
      Returns:
      the new property model (for further configuration)
    • addEmpty

      public PropertyModel addEmpty(String propertyName)
      Description copied from interface: BeanModel
      Adds an empty property (one with no property conduit).
      Specified by:
      addEmpty in interface BeanModel<T>
      Parameters:
      propertyName - name of property to add
      Returns:
      the new property model (for further configuration)
    • addExpression

      public PropertyModel addExpression(String propertyName, String expression)
      Description copied from interface: BeanModel
      Adds a new synthetic property to the model, returning its mutable model for further refinement. The property is added to the end of the list of properties.
      Specified by:
      addExpression in interface BeanModel<T>
      Parameters:
      propertyName - name of property to add
      expression - expression for the property
      Returns:
      the new property model (for further configuration)
    • add

      public PropertyModel add(RelativePosition position, String existingPropertyName, String propertyName, PropertyConduit conduit)
      Description copied from interface: BeanModel
      Adds a new property to the model, ordered before or after an existing property.
      Specified by:
      add in interface BeanModel<T>
      Parameters:
      position - controls whether the new property is ordered before or after the existing property
      existingPropertyName - the name of an existing property (this must exist)
      propertyName - the new property to add
      conduit - conduit used to read or update the property; this may be null for a synthetic or placeholder property
      Returns:
      the new property model (for further configuration)
    • add

      public PropertyModel add(RelativePosition position, String existingPropertyName, String propertyName)
      Description copied from interface: BeanModel
      Adds a new property to the model (as with BeanModel.add(String)), ordered before or after an existing property.
      Specified by:
      add in interface BeanModel<T>
      Parameters:
      position - controls whether the new property is ordered before or after the existing property
      existingPropertyName - the name of an existing property (this must exist)
      propertyName - the new property to add
      Returns:
      the new property model (for further configuration)
    • add

      public PropertyModel add(String propertyName, PropertyConduit conduit)
      Description copied from interface: BeanModel
      Adds a new, synthetic property to the model, returning its mutable model for further refinement.
      Specified by:
      add in interface BeanModel<T>
      Parameters:
      propertyName - name of property to add
      conduit - the conduit used to read or update the property; this may be null for a synthetic or placeholder property. Instead of passing null, please invoke BeanModel.addEmpty(String).
      Returns:
      the model for the property
      See Also:
    • get

      public PropertyModel get(String propertyName)
      Description copied from interface: BeanModel
      Returns the named model.
      Specified by:
      get in interface BeanModel<T>
      Parameters:
      propertyName - name of property to retrieve model for (case is ignored)
      Returns:
      the model for the property
    • getById

      public PropertyModel getById(String propertyId)
      Description copied from interface: BeanModel
      Returns the identified model. Property ids are a stripped version of the property name. Case is ignored.
      Specified by:
      getById in interface BeanModel<T>
      Parameters:
      propertyId - matched caselessly against PropertyModel.getId()
    • getPropertyNames

      Description copied from interface: BeanModel
      Returns a list of the editable properties of the bean, in presentation order.
      Specified by:
      getPropertyNames in interface BeanModel<T>
    • exclude

      public BeanModel<T> exclude(String... propertyNames)
      Description copied from interface: BeanModel
      Removes the named properties from the model, if present. It is not considered an error to remove a property that does not exist.
      Specified by:
      exclude in interface BeanModel<T>
      Parameters:
      propertyNames - the names of properties to be removed (case insensitive)
      Returns:
      the model for further modifications
    • reorder

      public BeanModel<T> reorder(String... propertyNames)
      Description copied from interface: BeanModel
      Re-orders the properties of the model into the specified order. Existing properties that are not indicated are retained, but ordered to the end of the list.
      Specified by:
      reorder in interface BeanModel<T>
      Parameters:
      propertyNames - property names in order they should be displayed (case insensitive)
      Returns:
      the model for further modifications
    • include

      public BeanModel<T> include(String... propertyNames)
      Description copied from interface: BeanModel
      Re-orders the properties of the model into the specified order. Existing properties that are not indicated are removed.
      Specified by:
      include in interface BeanModel<T>
      Parameters:
      propertyNames - the names of properties to be retained
      Returns:
      the model for further modifications
    • toString

      public String toString()
      Overrides:
      toString in class Object