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

in.erail.glue.ValueProxy Maven / Gradle / Ivy

package in.erail.glue;

import in.erail.glue.common.ValueWithModifier;
import java.util.Collection;

public interface ValueProxy {

  /**
   * Process String based Property Value
   */
  void process();
  
  /**
   * Return resolved value
   * @return Resolve object
   */
  Object getValue();
  
  /**
   * Resolved object expected class
   * @return Resolved object expected class
   */
  @SuppressWarnings("rawtypes")
	Class getTargetClass();
  
  /**
   * Does value required deferred processing. Deferred processing
   * happens in case of one component property pointing to another 
   * component or property.
   * @return 
   */
  boolean isDeferredValue();
  
  /**
   * Check if deferred value is already calculated.
   * @return 
   */
  boolean isDeferredComponentProcessed();
  
  /**
   * Mark deferred processing status
   * @param pDeferredComponentProcessed True is processed or else false
   */
  void setDeferredComponentProcessed(boolean pDeferredComponentProcessed);
  
  /**
   * Deferred component path
   * @return Path to component
   */
  String getDeferredComponentPath();
  
  /**
   * Deferred component instance
   * @param pDeferredComponent component instance
   */
  void setDeferredComponent(Object pDeferredComponent);
 
 /**
  * Expected target value class
  * @param pClass Target value class
  */
 @SuppressWarnings("rawtypes")
void setTargetClass(Class pClass);
 
 /**
  * Ordered properties value from all layers
  * @param pPropertyValue Ordered collection
  */
 void setPropertyValue(Collection pPropertyValue);
 
 /**
  * Path of component to which this property/value belongs
  * @param pPath Path
  */
 void setComponentPath(String pPath);
 
 /**
  * Initialise value proxy instance
  */
 void init();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy