Class PromptData

  • All Implemented Interfaces:
    java.io.Serializable

    @JsonData
    public class PromptData
    extends java.lang.Object
    implements java.io.Serializable
    This class is the holder of the information needed for a prompt. Objects of this class represent a prompt with its name, its description, its default value(s), and other various settings (can be edited, can have multiple values, etc).
    After the prompts are requested from the user, the prompt values set by the user are also stored here. A typical use of this object would be:

    ...
     PromptData[] myPrompts = new PromptData[3];
     for (int i=0; i<3; i++) {
         myPrompts[i] = new PromptData(name[i], description[i], defaultValues[i], defaultDescs[i],
           type[i], discrete[i], range[i], multi[i], changeable[i], descOnly[i], editMask[i], 
           minLength[i], maxLength[i]);
     }
     MyPromptDialog.execute(myPrompts); //show the prompts, request values from user, etc.
     Object[] obj = new Object[3];
     for (int i=0; i<3; i++) {
         obj[i] = myPrompts[i].getChosenValue();
     }
     sendPromptsToServer(obj);
     ...
     
    As can be seen - first the PromptData objects are initialized, then used to request data from the user (its settings can be retrieved with methods such as getName(), getDescription(), getType(), etc.

    The chosen values are of the following type, depending on the type of the prompt:

    Prompt TypeJava Type
    Number/Currency Double
    Boolean Boolean
    Date/DateTime java.util.Date
    Time Time
    String String
    Binary byte[]
    Range Range
    Multiple Vector
    Since:
    7.0
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int ARRAY
      Data type bit mask - Array
      static int BINARY
      Data type constant - binary
      static int BOOLEAN
      Data type constant - boolean
      static int CURRENCY
      Data type constant - number
      static int DATE
      Data type constant - date
      static int DATETIME
      Data type constant - datetime
      static int NUMBER
      Data type constant - number
      static int RANGE
      Data type bit mask - Range
      static int STRING
      Data type constant - string
      static int TIME
      Data type constant - time
      static int UNKNOWN
      Data type constant - unknown
    • Constructor Summary

      Constructors 
      Constructor Description
      PromptData​(boolean skipThis)
      Creates a PromptData object which is to be ignored - this is useful for prompts which are not used in the report.
      PromptData​(PromptData data)
      Clones a PromptData object and initializes a new one with all values equal to that of the old PromptData object.
      PromptData​(java.lang.String name, java.lang.String subreportName, java.lang.String description, java.lang.String[] defaultValues, java.lang.String[] defaultDescs, int type, boolean discrete, boolean range, boolean multi, boolean changeable, boolean descOnly, boolean informixSP, java.lang.String editMask, java.lang.String minValue, java.lang.String maxValue)
      Creates a PromptData object with the parameters chosen.
      PromptData​(java.lang.String name, java.lang.String displayName, java.lang.String subreportName, java.lang.String description, java.lang.String[] defaultValues, java.lang.String[] defaultDescs, int type, boolean discrete, boolean range, boolean multi, boolean changeable, boolean descOnly, boolean informixSP, java.lang.String editMask, java.lang.String minValue, java.lang.String maxValue)
      Creates a PromptData object with the parameters chosen.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean equals​(java.lang.Object obj)
      Checks equality with another object - a PromptData object is equal to another if all settings are the same in both objects.
      java.lang.String getCascadingParent()
      Returns the parent to this prompt if this is a cascading prompt.
      java.lang.Object getChosenValue()
      Returns the set value of this prompt.
      java.util.Vector getDefaultValues()
      Returns the default values of this prompt.
      Note that Date are given as Calendar object, and DateTime as Timestamp.
      java.lang.String getDescription()
      Returns the description of this prompt.
      java.lang.String getDisplayName()
      Returns name to use for displaying the prompt name
      javax.swing.Icon getIcon()
      Returns the icon of this PromptData.
      java.lang.String getName()
      Returns the name of this prompt.
      int getType()
      Returns the type of this prompt (without any included bit flags) - that is, NUMBER, CURRENCY, BOOLEAN, DATE, TIME, DATETIME, STRING, or BINARY
      int hashCode()
      boolean isDiscrete()
      Returns whether or not this prompt allows discrete values.
      boolean isMultipleAllowed()
      Returns whether or not this prompt allows multiple values
      boolean isRange()
      Returns whether or not this prompt allows range values.
      void setCascadingParent​(java.lang.String cascadingParent)
      If not null, causes this prompt to be viewed as a cascading prompt and sets its parent.
      void setChosenValues​(java.lang.Object values)
      Sets the value(s) actually chosen for this prompt.
      void setDisplayName​(java.lang.String displayName)
      Sets the name to be used in the display of the prompt name.
      java.lang.String toString()
      Simply returns the display name of this prompt.
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Field Detail

      • UNKNOWN

        public static final int UNKNOWN
        Data type constant - unknown
        Since:
        7.0
        See Also:
        Constant Field Values
      • NUMBER

        public static final int NUMBER
        Data type constant - number
        Since:
        7.0
        See Also:
        Constant Field Values
      • CURRENCY

        public static final int CURRENCY
        Data type constant - number
        Since:
        7.0
        See Also:
        Constant Field Values
      • BOOLEAN

        public static final int BOOLEAN
        Data type constant - boolean
        Since:
        7.0
        See Also:
        Constant Field Values
      • DATE

        public static final int DATE
        Data type constant - date
        Since:
        7.0
        See Also:
        Constant Field Values
      • TIME

        public static final int TIME
        Data type constant - time
        Since:
        7.0
        See Also:
        Constant Field Values
      • STRING

        public static final int STRING
        Data type constant - string
        Since:
        7.0
        See Also:
        Constant Field Values
      • DATETIME

        public static final int DATETIME
        Data type constant - datetime
        Since:
        7.0
        See Also:
        Constant Field Values
      • BINARY

        public static final int BINARY
        Data type constant - binary
        Since:
        7.0
        See Also:
        Constant Field Values
      • RANGE

        public static final int RANGE
        Data type bit mask - Range
        Since:
        7.0
        See Also:
        Constant Field Values
      • ARRAY

        public static final int ARRAY
        Data type bit mask - Array
        Since:
        7.0
        See Also:
        Constant Field Values
    • Constructor Detail

      • PromptData

        public PromptData​(boolean skipThis)
        Creates a PromptData object which is to be ignored - this is useful for prompts which are not used in the report.
        Parameters:
        skipThis - boolean value whether prompt data object must be ignored
        Since:
        7.0
      • PromptData

        public PromptData​(java.lang.String name,
                          java.lang.String subreportName,
                          java.lang.String description,
                          java.lang.String[] defaultValues,
                          java.lang.String[] defaultDescs,
                          int type,
                          boolean discrete,
                          boolean range,
                          boolean multi,
                          boolean changeable,
                          boolean descOnly,
                          boolean informixSP,
                          java.lang.String editMask,
                          java.lang.String minValue,
                          java.lang.String maxValue)
        Creates a PromptData object with the parameters chosen.
        Parameters:
        name - Name of the prompt to use as the property name of the prompt
        subreportName - Name of the sub report this prompt belongs to (or "" if it is from the main report)
        description - Description of the prompt
        defaultValues - DefaultValues if any, that is, list of values to be able to choose from. If not a multiple value prompt, the first value is taken as the value set by default.
        defaultDescs - Default value descriptions, if any - indexes must correspond to the default value string array.
        type - Type of the prompt, using the bit flags. For example, a currency range array would have the type ARRAY|RANGE|CURRENCY.
        discrete - Can discrete values be chosen for this prompt?
        range - Can range values be chosen for this prompt?
        multi - Can multiple values be chosen for this prompt?
        changeable - Is it possible enter own values (if not - only default values)
        informixSP - Is this an Informix Stored Procedure prompt? (default should be false)
        descOnly - Are only the descriptions of the default values to be shown?
        editMask - Edit mask - as of yet unimplemented.
        minValue - Minimum value, or length of value allowed to be entered (if String).
        maxValue - Maximum value, or length of value allowed to be entered (if String).
        Since:
        7.0
      • PromptData

        public PromptData​(java.lang.String name,
                          java.lang.String displayName,
                          java.lang.String subreportName,
                          java.lang.String description,
                          java.lang.String[] defaultValues,
                          java.lang.String[] defaultDescs,
                          int type,
                          boolean discrete,
                          boolean range,
                          boolean multi,
                          boolean changeable,
                          boolean descOnly,
                          boolean informixSP,
                          java.lang.String editMask,
                          java.lang.String minValue,
                          java.lang.String maxValue)
        Creates a PromptData object with the parameters chosen.
        Parameters:
        name - Name of the prompt to use as the property name of the prompt
        displayName - Display name of the prompt to use for display only.
        subreportName - Name of the sub report this prompt belongs to (or "" if it is from the main report)
        description - Description of the prompt
        defaultValues - DefaultValues if any, that is, list of values to be able to choose from. If not a multiple value prompt, the first value is taken as the value set by default.
        defaultDescs - Default value descriptions, if any - indexes must correspond to the default value string array.
        type - Type of the prompt, using the bit flags. For example, a currency range array would have the type ARRAY|RANGE|CURRENCY.
        discrete - Can discrete values be chosen for this prompt?
        range - Can range values be chosen for this prompt?
        multi - Can multiple values be chosen for this prompt?
        changeable - Is it possible enter own values (if not - only default values)
        informixSP - Is this an Informix Stored Procedure prompt? (default should be false)
        descOnly - Are only the descriptions of the default values to be shown?
        editMask - Edit mask - as of yet unimplemented.
        minValue - Minimum value, or length of value allowed to be entered (if String).
        maxValue - Maximum value, or length of value allowed to be entered (if String).
        Since:
        7.0
      • PromptData

        public PromptData​(PromptData data)
        Clones a PromptData object and initializes a new one with all values equal to that of the old PromptData object.
        Parameters:
        data - Prompt to "clone"
        Since:
        7.0
    • Method Detail

      • getDescription

        public java.lang.String getDescription()
        Returns the description of this prompt. May be null if no description is set.
        Returns:
        The description of this prompt. May be null if no description is set.
        Since:
        7.0
      • isRange

        public boolean isRange()
        Returns whether or not this prompt allows range values.
        Returns:
        Does this prompt allow range values?
        Since:
        7.0
      • isDiscrete

        public boolean isDiscrete()
        Returns whether or not this prompt allows discrete values.
        Returns:
        Does this prompt allow discrete values?
        Since:
        7.0
      • isMultipleAllowed

        public boolean isMultipleAllowed()
        Returns whether or not this prompt allows multiple values
        Returns:
        Does this prompt allow multiple values?
        Since:
        7.0
      • getName

        public java.lang.String getName()
        Returns the name of this prompt. Note that this name is unique for the report. This name can be null for hidden prompts.
        Returns:
        The name of this prompt. Note that this name is unique for the report. This name can be null for hidden prompts.
        Since:
        7.0
      • getType

        public int getType()
        Returns the type of this prompt (without any included bit flags) - that is, NUMBER, CURRENCY, BOOLEAN, DATE, TIME, DATETIME, STRING, or BINARY
        Returns:
        The type of this prompt.
        Since:
        7.0
      • setChosenValues

        public void setChosenValues​(java.lang.Object values)
        Sets the value(s) actually chosen for this prompt. If more than one value was chosen, use a vector. If values are ranges, use a Range. For the values themselves, use:
        • String for STRING
        • Double for NUMBER and CURRENCY
        • Boolean for BOOLEAN
        • Date for DATE and DATETIME
        • Time for TIME
        • byte[] for BINARY
        Parameters:
        values - Value(s) to be set as chosen - should be a vector if more than one.
        Since:
        7.0
      • toString

        public java.lang.String toString()
        Simply returns the display name of this prompt.
        Overrides:
        toString in class java.lang.Object
        Returns:
        String Display name of this prompt
        Since:
        7.0
        See Also:
        Object.toString()
      • getIcon

        public javax.swing.Icon getIcon()
        Returns the icon of this PromptData.
        Returns:
        Returns the icon of this PromptData.
      • getChosenValue

        public java.lang.Object getChosenValue()
        Returns the set value of this prompt. Depending on the value type, this object can be one of various things:

        • If a multiple prompt, this is a vector containing one or more single values.
        • If one of the values is a range, it is a RangePromptValue.

          The single values are:

          • String for STRING
          • Double for NUMBER and CURRENCY
          • Boolean for BOOLEAN
          • Date for DATE and DATETIME
          • Time for TIME
          • byte[] for BINARY
        Returns:
        The set value of this prompt.
        Since:
        7.0
      • getDefaultValues

        public java.util.Vector getDefaultValues()
        Returns the default values of this prompt.
        Note that Date are given as Calendar object, and DateTime as Timestamp.
        Returns:
        Default values of this prompt.
        Since:
        7.0
      • equals

        public boolean equals​(java.lang.Object obj)
        Checks equality with another object - a PromptData object is equal to another if all settings are the same in both objects.
        Overrides:
        equals in class java.lang.Object
        Parameters:
        obj - Object
        Returns:
        boolean
        Since:
        7.0
        See Also:
        Object.equals(java.lang.Object)
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • getCascadingParent

        public java.lang.String getCascadingParent()
        Returns the parent to this prompt if this is a cascading prompt. If not, this returns null.
        Returns:
        parent to this prompt, or null if there is none
      • setCascadingParent

        public void setCascadingParent​(java.lang.String cascadingParent)
        If not null, causes this prompt to be viewed as a cascading prompt and sets its parent. Otherwise, deactivates cascading for this prompt.
        Parameters:
        cascadingParent - parent to this prompt, or null if there is none
      • setDisplayName

        public void setDisplayName​(java.lang.String displayName)
        Sets the name to be used in the display of the prompt name.
        Parameters:
        displayName - name to use for prompt name display
        Since:
        7.8
      • getDisplayName

        public java.lang.String getDisplayName()
        Returns name to use for displaying the prompt name
        Returns:
        display name of the prompt
        Since:
        7.8