All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.valkyriercp.binding.MutablePropertyAccessStrategy Maven / Gradle / Ivy

There is a newer version: 1.3
Show newest version
package org.valkyriercp.binding;

import org.springframework.beans.BeansException;
import org.valkyriercp.binding.value.ValueModel;

/**
 * 

* An extension of the base property access strategy interface that allows for * mutable operations. Specifically, this interface allows: *

*
    *
  • registering custom property editors for performing type conversions
  • *
  • returning a domain object holder allowing the underlying domain object * to be changed and subscribed to for modification, and
  • *
  • adding listeners for changes on particular properties.
  • *
* * @author Keith Donald */ public interface MutablePropertyAccessStrategy extends PropertyAccessStrategy { /** * Get the ValueModel used to access the domainObject. * * @return the ValueModel of the domainObject. */ ValueModel getDomainObjectHolder(); /** * Get the ValueModel to access the given property. Possibly * creating the valueModel if needed. * * @param propertyPath property to access. * @return ValueModel that handles the given property. * @throws org.springframework.beans.BeansException */ ValueModel getPropertyValueModel(String propertyPath) throws BeansException; /** * Get a MutablePropertyAccessStrategy for the given * property. * * TODO check why this exists and where this is used. * * @param propertyPath property. * @return MutablePropertyAccessStrategy for the given * property. * @throws BeansException */ MutablePropertyAccessStrategy getPropertyAccessStrategyForPath(String propertyPath) throws BeansException; /** * Return a new MutablePropertyAccessStrategy for the given * valueModel. * * TODO check why this exists and where this is used. * * @param domainObjectHolder a ValueModel containing the * domainObject. * @return a newly created MutablePropertyAccessStrategy. */ MutablePropertyAccessStrategy newPropertyAccessStrategy(ValueModel domainObjectHolder); }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy