Class ScaleReportObjects

  • All Implemented Interfaces:
    AdditionalInformationHandler, CleanUpHandler, Destroyable, GlobalInfoSupporter, LoggingLevelHandler, LoggingSupporter, OptionHandler, QuickInfoSupporter, ShallowCopySupporter<Actor>, SizeOfHandler, Stoppable, StoppableWithFeedback, VariablesInspectionHandler, VariableChangeListener, Actor, ErrorHandler, InputConsumer, OutputProducer, ObjectPrefixHandler, Serializable, Comparable

    public class ScaleReportObjects
    extends AbstractTransformer
    implements ObjectPrefixHandler
    Scales the objects in the report using the provided scale factors.
    Processes the following suffixes of all the report fields that match the provided prefix:
    - .x
    - .y
    - .width
    - .height

    Input/output:
    - accepts:
       adams.data.report.Report
       adams.data.report.ReportHandler
    - generates:
       adams.data.report.Report
       adams.data.report.ReportHandler


    -logging-level <OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST> (property: loggingLevel)
        The logging level for outputting errors and debugging output.
        default: WARNING
     
    -name <java.lang.String> (property: name)
        The name of the actor.
        default: ScaleReportObjects
     
    -annotation <adams.core.base.BaseAnnotation> (property: annotations)
        The annotations to attach to this actor.
        default: 
     
    -skip <boolean> (property: skip)
        If set to true, transformation is skipped and the input token is just forwarded 
        as it is.
        default: false
     
    -stop-flow-on-error <boolean> (property: stopFlowOnError)
        If set to true, the flow execution at this level gets stopped in case this 
        actor encounters an error; the error gets propagated; useful for critical 
        actors.
        default: false
     
    -silent <boolean> (property: silent)
        If enabled, then no errors are output in the console; Note: the enclosing 
        actor handler must have this enabled as well.
        default: false
     
    -prefix <java.lang.String> (property: prefix)
        The prefix of the objects to scale.
        default: Object.
     
    -scale-x <double> (property: scaleX)
        The factor for scaling x/width.
        default: 1.0
        minimum: 0.0
        maximum: 1.0
     
    -scale-y <double> (property: scaleY)
        The factor for scaling y/width.
        default: 1.0
        minimum: 0.0
        maximum: 1.0
     
    -round <boolean> (property: round)
        If enabled, the scaled values get round.
        default: false
     
    -rounding-type <ROUND|CEILING|FLOOR> (property: roundingType)
        The type of rounding to perform.
        default: ROUND
     
    Author:
    FracPete (fracpete at waikato dot ac dot nz)
    See Also:
    Serialized Form
    • Field Detail

      • m_Prefix

        protected String m_Prefix
        the prefix of the objects.
      • m_ScaleX

        protected double m_ScaleX
        the scale factor for x/width.
      • m_ScaleY

        protected double m_ScaleY
        the scale factor for y/height.
      • m_Round

        protected boolean m_Round
        whether to round the scaled values.
      • m_RoundingType

        protected RoundingType m_RoundingType
        the rounding type.
      • m_NumDecimals

        protected int m_NumDecimals
        the number of decimals.
    • Constructor Detail

      • ScaleReportObjects

        public ScaleReportObjects()
    • Method Detail

      • prefixTipText

        public String prefixTipText()
        Returns the tip text for this property.
        Specified by:
        prefixTipText in interface ObjectPrefixHandler
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setScaleX

        public void setScaleX​(double value)
        Sets the scale factor for x/width.
        Parameters:
        value - the factor
      • getScaleX

        public double getScaleX()
        Returns the scale factor for x/width.
        Returns:
        the factor
      • scaleXTipText

        public String scaleXTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setScaleY

        public void setScaleY​(double value)
        Sets the scale factor for y/width.
        Parameters:
        value - the factor
      • getScaleY

        public double getScaleY()
        Returns the scale factor for y/width.
        Returns:
        the factor
      • scaleYTipText

        public String scaleYTipText()
        Returns the tip teyt for this property.
        Returns:
        tip teyt for this property suitable for displaying in the GUI or for listing the options.
      • setRound

        public void setRound​(boolean value)
        Sets whether to round the scaled values.
        Parameters:
        value - true if to round
      • getRound

        public boolean getRound()
        Returns whether to round the scaled values.
        Returns:
        true if to round
      • roundTipText

        public String roundTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setRoundingType

        public void setRoundingType​(RoundingType value)
        Sets the type of rounding to perform.
        Parameters:
        value - the type
      • getRoundingType

        public RoundingType getRoundingType()
        Returns the type of rounding to perform.
        Returns:
        the type
      • roundingTypeTipText

        public String roundingTypeTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setNumDecimals

        public void setNumDecimals​(int value)
        Sets the number of decimals after the decimal point to use.
        Parameters:
        value - the number of decimals
      • getNumDecimals

        public int getNumDecimals()
        Returns the number of decimals after the decimal point to use.
        Returns:
        the number of decimals
      • numDecimalsTipText

        public String numDecimalsTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • accepts

        public Class[] accepts()
        Returns the class that the consumer accepts.
        Specified by:
        accepts in interface InputConsumer
        Returns:
        the Class of objects that can be processed
      • generates

        public Class[] generates()
        Returns the class of objects that it generates.
        Specified by:
        generates in interface OutputProducer
        Returns:
        the Class of the generated tokens
      • round

        protected double round​(double value)
        Rounds the value according to the parameters.
        Parameters:
        value - the value to round
        Returns:
        the potentially rounded value
        See Also:
        m_Round, m_RoundingType
      • doExecute

        protected String doExecute()
        Executes the flow item.
        Specified by:
        doExecute in class AbstractActor
        Returns:
        null if everything is fine, otherwise error message