PropertiesHandler

From GreenVulcano Wiki
Revision as of 10:10, 18 December 2012 by Anonymous (talk) (Created page with "Class FQN: '''it.greenvulcano.util.metadata.PropertiesHandler''' /** * Helper class for metadata substitution in strings. * * @version 3.0.0 Feb 17, 2010 * @author GreenVulc...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Class FQN: it.greenvulcano.util.metadata.PropertiesHandler

/**

* Helper class for metadata substitution in strings.
*
* @version 3.0.0 Feb 17, 2010
* @author GreenVulcano Developer Team
*
*
**/

Following the PropertiesHandler public static methods

    /**
     * @param type
     * @param handler
     */
    public static void registerHandler(String type, PropertyHandler handler)


    /**
     * This method insert the correct values for the dynamic parameter found in
     * the input string. The property value can be a combination of: - fixed : a
     * text string; - ${{propname}} : a System property name.
     *
     * @param str
     *        the string to value
     * @return the expanded string
     *
     * @throws PropertiesHandlerException
     *         if error occurs and the flag THROWS_EXCEPTION is set
     */
    public static String expand(String str) throws PropertiesHandlerException


    /**
     * This method insert the correct values for the dynamic parameter found in
     * the input string. The property value can be a combination of: - fixed : a
     * text string; - ${{propname}} : a System property name; - @{{propname}} :
     * a inProperties property name;
     *
     * @param str
     *        the string to value
     * @param inProperties
     *        the hashTable containing the properties
     * @return the expanded string
     *
     * @throws PropertiesHandlerException
     *         if error occurs and the flag THROWS_EXCEPTION is set
     */
    public static String expand(String str, Map<String, Object> inProperties) throws PropertiesHandlerException


    /**
     * This method insert the correct values for the dynamic parameter found in
     * the input string. The property value can be a combination of: - fixed : a
     * text string; - %{{class}} : the object class name; - %{{fqclass}} : the
     * object fully qualified class name; - %{{package}} : the object package
     * name; - ${{propname}} : a System property name; - @{{propname}} : a
     * inProperties property name;
     *
     * @param str
     *        the string to value
     * @param inProperties
     *        the hashTable containing the properties
     * @param obj
     *        the object to work with
     * @return the expanded string
     *
     * @throws PropertiesHandlerException
     *         if error occurs and the flag THROWS_EXCEPTION is set
     */
    public static String expand(String str, Map<String, Object> inProperties, Object obj)
            throws PropertiesHandlerException


    /**
     * This method insert the correct values for the dynamic parameter found in
     * the input string. The property value can be a combination of: - fixed : a
     * text string; - %{{class}} : the object class name; - %{{fqclass}} : the
     * object fully qualified class name; - %{{package}} : the obj package name;
     * - ${{propname}} : a System property name; - @{{propname}} : a
     * inProperties property name; - &{{script}} : a JavaScript script;
     *
     * @param str
     *        the string to value
     * @param inProperties
     *        the hashTable containing the properties
     * @param obj
     *        the object to work with
     * @param scope
     *        the JavaScript scope
     * @return the expanded string
     *
     * @throws PropertiesHandlerException
     *         if error occurs and the flag THROWS_EXCEPTION is set
     */
    public static String expand(String str, Map<String, Object> inProperties, Object obj, Scriptable scope)
            throws PropertiesHandlerException


    /**
     * This method insert the correct values for the dynamic parameter found in
     * the input string. The property value can be a combination of: - fixed : a
     * text string; - %{{class}} : the object class name; - %{{fqclass}} : the
     * object fully qualified class name; - %{{package}} : the object package
     * name; - ${{propname}} : a System property name; - @{{propname}} : a
     * inProperties property name; - &{{script}} : a JavaScript script;
     *
     * @param str
     *        the string to value
     * @param inProperties
     *        the hashTable containing the properties
     * @param obj
     *        the object to work with
     * @param scope
     *        the JavaScript scope
     * @param extra
     *        a extra object passed to property handlers
     * @return the expanded string
     *
     * @throws PropertiesHandlerException
     *         if error occurs and the flag THROWS_EXCEPTION is set
     */
    public static String expand(String str, Map<String, Object> inProperties, Object obj, Scriptable scope, Object extra)
            throws PropertiesHandlerException


    /**
     * @param type
     * @param value
     * @param inProperties
     * @param obj
     * @param scope
     * @param extra
     *        a extra object passed to property handlers
     * @return the expanded string
     * @throws PropertiesHandlerException
     */
    public static String expandInternal(String type, String value, Map<String, Object> inProperties, Object obj,
            Scriptable scope, Object extra) throws PropertiesHandlerException

    /**
     * @param token
     * @param mdt
     */
    private static void parse(PropertyToken token, MetaDataTokenizer mdt)


    /**
     * Enable the exception throwing on errors, for the current thread.
     *
     * Example:
     *
     * <pre>
     *
     *     ...
     *     PropertiesHandler.enableExceptionOnErrors();
     *     try {
     *        ...
     *        String value = PropertiesHandler.expand(...);
     *        ...
     *     }
     *     catch (PropertiesHandlerException exc) {
     *        ...
     *     }
     *     finally {
     *        PropertiesHandler.disableExceptionOnErrors();
     *     }
     *
     * </pre>
     */
    public static void enableExceptionOnErrors()


    /**
     * Disable the exception throwing on errors, for the current thread.
     *
     */
    public static void disableExceptionOnErrors()


    /**
     * Check if the exception throwing on errors is enabled for the current
     * thread.
     *
     * @return if the exception throwing on errors is enabled for the current
     *         thread.
     *
     */
    public static boolean isExceptionOnErrors()

    /**
     * Check if the input string need to be processed.
     *
     * @param str
     *        the string to check
     * @return true if the string is processed
     */
    public static boolean isExpanded(String str)