Class Merger


  • public final class Merger
    extends Object
    Singleton utility to merge java script object in the another one and provide the service to get the chart options with all defaults.
    Author:
    Andrea "Stock" Stocchero
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static Merger get()
      Singleton method to get the instance
      void load​(NativeObjectContainer options, ChartEnvelop<NativeObject> envelop)
      Merges the chart options, built after the chart initialization on the chart configuration in order that the configuration can contain all values, also the defaults.
      void load​(IsChart chart, NativeObjectContainer options, ChartEnvelop<NativeObject> envelop)
      Merges chart default options (by chart.defaults[type]), default scale options (by chart.defaults.scale) and global options (by chart.defaults.global) and chart options.
      The chain of priority is:
      chart options chart default options (by chart.defaults[type]) default scale options (by chart.defaults.scale) global options (by chart.defaults.global)
      void load​(Type type, ChartEnvelop<ChartOptions> options, ChartEnvelop<NativeObject> envelop)
      Merges chart default options (by chart.defaults[type]), default scale options (by chart.defaults.scale) and global options (by chart.defaults.global).
      The chain of priority is:
      chart default options (by chart.defaults[type]) default scale options (by chart.defaults.scale) global options (by chart.defaults.global)
      void load​(Type type, ChartEnvelop<NativeObject> envelop)
      Merges chart default options (by chart.defaults[type]), default scale options (by chart.defaults.scale) and global options (by chart.defaults.global).
      The chain of priority is:
      chart default options (by chart.defaults[type]) default scale options (by chart.defaults.scale) global options (by chart.defaults.global)
      NativeObject merge​(NativeObjectContainer target, NativeObjectContainer source, String property)
      Copies source properties (creating a new java script object and setting the source one with the property argument) in the target only if not defined in target.
      target is not cloned and will be updated with source properties.
      The property is
      NativeObject merge​(NativeObjectContainer target, NativeObject source, String property)
      Copies source properties (creating a new java script object and setting the source one with the property argument) in the target only if not defined in target.
      target is not cloned and will be updated with source properties.
      The property is
      NativeObject merge​(NativeObject target, NativeObjectContainer source, String property)
      Copies source properties (creating a new java script object and setting the source one with the property argument) in the target only if not defined in target.
      target is not cloned and will be updated with source properties.
      The property is
      NativeObject merge​(NativeObject target, NativeObject source, String property)
      Copies source properties (creating a new java script object and setting the source one with the property argument) in the target only if not defined in target.
      target is not cloned and will be updated with source properties.
      The property is
    • Method Detail

      • get

        public static Merger get()
        Singleton method to get the instance
        Returns:
        merger instance
      • load

        public void load​(NativeObjectContainer options,
                         ChartEnvelop<NativeObject> envelop)
        Merges the chart options, built after the chart initialization on the chart configuration in order that the configuration can contain all values, also the defaults.
        Parameters:
        options - chart options configuration
        envelop - the envelop for options as native options
      • load

        public void load​(IsChart chart,
                         NativeObjectContainer options,
                         ChartEnvelop<NativeObject> envelop)
        Merges chart default options (by chart.defaults[type]), default scale options (by chart.defaults.scale) and global options (by chart.defaults.global) and chart options.
        The chain of priority is:
        • chart options
        • chart default options (by chart.defaults[type])
        • default scale options (by chart.defaults.scale)
        • global options (by chart.defaults.global)
        Parameters:
        chart - chart instance which contains the chart options to be merged
        options - the options as native object container to be merged
        envelop - the envelop for options as native options
      • load

        public void load​(Type type,
                         ChartEnvelop<NativeObject> envelop)
        Merges chart default options (by chart.defaults[type]), default scale options (by chart.defaults.scale) and global options (by chart.defaults.global).
        The chain of priority is:
        • chart default options (by chart.defaults[type])
        • default scale options (by chart.defaults.scale)
        • global options (by chart.defaults.global)
        Parameters:
        type - chart type
        envelop - the envelop for options as native options
      • load

        public void load​(Type type,
                         ChartEnvelop<ChartOptions> options,
                         ChartEnvelop<NativeObject> envelop)
        Merges chart default options (by chart.defaults[type]), default scale options (by chart.defaults.scale) and global options (by chart.defaults.global).
        The chain of priority is:
        • chart default options (by chart.defaults[type])
        • default scale options (by chart.defaults.scale)
        • global options (by chart.defaults.global)
        Parameters:
        type - chart type
        options - temporary chart options in order to get a default for the chart options
        envelop - the envelop for options as native options
      • merge

        public NativeObject merge​(NativeObjectContainer target,
                                  NativeObjectContainer source,
                                  String property)
        Copies source properties (creating a new java script object and setting the source one with the property argument) in the target only if not defined in target.
        target is not cloned and will be updated with source properties.
        The property is
        Parameters:
        target - The target object in which source is merged into.
        source - Object to merge in the target.
        property - property of root java script object to add
        Returns:
        the added java script object
      • merge

        public NativeObject merge​(NativeObject target,
                                  NativeObjectContainer source,
                                  String property)
        Copies source properties (creating a new java script object and setting the source one with the property argument) in the target only if not defined in target.
        target is not cloned and will be updated with source properties.
        The property is
        Parameters:
        target - The target object in which source is merged into.
        source - Object to merge in the target.
        property - property of root java script object to add
        Returns:
        the added java script object
      • merge

        public NativeObject merge​(NativeObjectContainer target,
                                  NativeObject source,
                                  String property)
        Copies source properties (creating a new java script object and setting the source one with the property argument) in the target only if not defined in target.
        target is not cloned and will be updated with source properties.
        The property is
        Parameters:
        target - The target object in which source is merged into.
        source - Object to merge in the target.
        property - property of root java script object to add
        Returns:
        the added java script object
      • merge

        public NativeObject merge​(NativeObject target,
                                  NativeObject source,
                                  String property)
        Copies source properties (creating a new java script object and setting the source one with the property argument) in the target only if not defined in target.
        target is not cloned and will be updated with source properties.
        The property is
        Parameters:
        target - The target object in which source is merged into.
        source - Object to merge in the target.
        property - property of root java script object to add
        Returns:
        the added java script object