|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.crystaldecisions.sdk.occa.report.data.Field
com.crystaldecisions.sdk.occa.report.data.ParameterField
public class ParameterField
This object enables you to get and set values
for the parameter field. When possible, use the
IParameterField
interface, to manipulate this object.
Parameters prompt the user of a report to enter information.
Think of a parameter as a question that the user needs to answer before the report is generated. The information users enter, or the way they respond, determines what appears in the report. For example, in a report used by sales people, there might be a parameter that asks the user to choose a region. The report would return the results for the specific region instead of returning the results for all of the regions.
By using parameter fields in formulas, selection formulas, and in the report itself, you can create a single report that you can modify whenever your needs change. Parameter fields can also be used in subreports. Parameter values are discrete or ranged. A discrete value represents a particular, single value, while a range value represents a value between a certain range. Additionally, parameters can have one value (discrete or ranged) or multiple values (discrete or ranged).
Parameters fields can be set to optional. If an optional parameter field is given a Values collection that contains a null object reference the user will not be prompted to enter a value, but if an optional parameter is given a Values collection that is empty, the user will be prompted.
The ParameterField
object allows you to manipulate
a parameter in the report.
Constructor Summary | |
---|---|
ParameterField()
|
|
ParameterField(IParameterField src)
|
Method Summary | |
---|---|
java.lang.Object |
clone(boolean deepClone)
|
void |
copyTo(java.lang.Object destObject,
boolean deepCopy)
|
java.lang.Object |
createMember(java.lang.String eleName,
org.xml.sax.Attributes attrs,
XMLSerializationContext ctxt,
java.util.Map objState,
boolean[] bLoaded)
For internal use only. |
void |
doControllerModification(java.lang.Object newObject)
|
void |
enablePromptWithDescriptionOnly(boolean enable)
|
void |
enumerateMembers(IMemberVisitor visitor)
|
boolean |
getAllowCustomCurrentValues()
Returns true if the user can enter
custom values for a parameter
when the report is refreshed and false otherwise. |
boolean |
getAllowMultiValue()
Returns true if the user
can select more than one value for a parameter when
the report is refreshed; returns false
if the user can only choose one value for the parameter. |
boolean |
getAllowNullValue()
Returns true if the value for the parameter may be NULL
and false otherwise. |
IField |
getBrowseField()
Returns the database field whose values are being used as default values for the parameter. |
ControllableMixin |
getControllableMixin()
|
Values |
getCurrentValues()
Returns the values that are currently being used for the parameter. |
ParameterDefaultValueDisplayType |
getDefaultValueDisplayType()
For internal use only. |
Values |
getDefaultValues()
Returns the default values that may be used for the parameter. |
ParameterSortMethod |
getDefaultValueSortMethod()
Returns whether the default values are sorted by value or by the value's description. |
ParameterSortOrder |
getDefaultValueSortOrder()
Returns the manner in which the values or the values' descriptions are sorted. |
java.lang.String |
getEditMask()
Returns the edit mask for the parameter values. |
java.lang.String |
getId()
|
boolean |
getIsAutoCreated()
For internal use only. |
boolean |
getIsEditableOnPanel()
Gets whether the parameter is editable on viewer parameter panel. |
boolean |
getIsOptionalPrompt()
Gets whether the parameter is optional. |
boolean |
getIsShownOnPanel()
Gets whether the parameter is shown on panel on viewer parameter panel. |
FieldKind |
getKind()
Returns what kind of field this is. |
IParameterFieldDiscreteValue |
getMaximumValue()
Returns the maximum value the parameter can have, providing that a minimum value is also specified. |
IParameterFieldDiscreteValue |
getMinimumValue()
Returns the minimum value the parameter can have, providing that a maximum value is also specified. |
ParameterFieldType |
getParameterType()
Returns how the parameter is being used as a type value. |
java.lang.String |
getReportName()
Returns the name of the report to which the parameter belongs. |
java.lang.String |
getShortName(java.util.Locale locale)
Returns the short name of the field. |
int |
getUsage()
|
ParameterValueRangeKind |
getValueRangeKind()
Returns whether the parameter is discrete, ranged, or both. |
Values |
getValues()
Returns the current values for the parameter, or the default values if no current values are defined. |
boolean |
hasContent(java.lang.Object srcParameterField)
|
boolean |
isDirectlyControllable()
|
boolean |
isPromptWithDescriptionOnlyEnabled()
|
void |
readElement(java.lang.String eleName,
java.lang.String sVal,
org.xml.sax.Attributes attrs,
java.util.Map objState)
For internal use only. |
void |
save(XMLWriter writer,
java.lang.String sTag,
XMLSerializationContext ctxt)
For internal use only. |
void |
save(XMLWriter writer,
XMLSerializationContext ctxt)
For internal use only. |
void |
saveContents(XMLWriter writer,
XMLSerializationContext ctxt)
For internal use only. |
void |
setAllowCustomCurrentValues(boolean allowCustomCurrentValues)
Sets if the user can enter custom values for a parameter when the report is refreshed. |
void |
setAllowMultiValue(boolean allowMultiValue)
Sets if the user can select more than one value for a parameter when the report is refreshed. |
void |
setAllowNullValue(boolean allowNullValue)
Set to true if the value for the parameter may be NULL
and false otherwise. |
void |
setBrowseField(IField browseField)
Sets the database field whose values are being used as default values for the parameter. |
void |
setCurrentValues(Values currentValues)
Sets the values that are currently being used for the parameter. |
void |
setDefaultValueDisplayType(ParameterDefaultValueDisplayType type)
For internal use only. |
void |
setDefaultValues(Values defaultValues)
Sets the default values that may be used for the parameter. |
void |
setDefaultValueSortMethod(ParameterSortMethod defaultValueSortMethod)
Sets whether the default values are sorted by value or by the value's description. |
void |
setDefaultValueSortOrder(ParameterSortOrder defaultValueSortOrder)
Sets the manner in which the values or the values' descriptions are sorted. |
void |
setEditMask(java.lang.String editMask)
Sets the edit mask for the parameter values. |
void |
setId(java.lang.String id)
|
void |
setIsAutoCreated(boolean isAutoCreated)
For internal use only. |
void |
setIsEditableOnPanel(boolean isEditableOnPanel)
Sets whether the parameter is editable on viewer parameter panel. |
void |
setIsOptionalPrompt(boolean isOptionalPrompt)
Sets whether the parameter is optional. |
void |
setIsShownOnPanel(boolean isShownOnPanel)
Sets whether the parameter is is shown on panel on viewer parameter panel. |
void |
setMaximumValue(IParameterFieldDiscreteValue maximumValue)
Sets the maximum value the parameter can have, providing that a minimum value is also specified. |
void |
setMinimumValue(IParameterFieldDiscreteValue minimumValue)
Sets the minimum value the parameter can have, providing that a maximum value is also specified. |
void |
setParameterType(ParameterFieldType parameterType)
Sets how the parameter is being used as a type value. |
void |
setReportName(java.lang.String reportName)
Sets the name of the report to which the parameter belongs. |
void |
setType(FieldValueType valueType)
Sets what type of field this is. |
void |
setUsage(int usage)
For internal use only. |
void |
setValueRangeKind(ParameterValueRangeKind valueRangeKind)
Sets whether the parameter is discrete, ranged, or both. |
Methods inherited from class com.crystaldecisions.sdk.occa.report.data.Field |
---|
endElement, getAttributes, getDescription, getDisplayName, getFormulaForm, getHeadingText, getIsPrintTime, getIsRecurring, getLength, getLongName, getName, getType, setAttributes, setDescription, setHeadingText, setLength, setName, startElement |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface com.crystaldecisions.sdk.occa.report.data.IField |
---|
getDescription, getDisplayName, getFormulaForm, getHeadingText, getIsRecurring, getLength, getLongName, getName, getType, setDescription, setHeadingText, setLength, setName |
Constructor Detail |
---|
public ParameterField(IParameterField src)
public ParameterField()
Method Detail |
---|
public java.lang.Object clone(boolean deepClone)
clone
in class Field
public void copyTo(java.lang.Object destObject, boolean deepCopy)
copyTo
in class Field
public java.lang.Object createMember(java.lang.String eleName, org.xml.sax.Attributes attrs, XMLSerializationContext ctxt, java.util.Map objState, boolean[] bLoaded)
For internal use only.
createMember
in class Field
public boolean getAllowCustomCurrentValues()
IParameterField
Returns true
if the user can enter
custom values for a parameter
when the report is refreshed and false
otherwise.
If this property is True, users can enter any value
for the parameter. If it is False, they must choose from one
of the default values.
getAllowCustomCurrentValues
in interface IParameterField
true
if the user can enter
custom values for a parameter
when the report is refreshed, and false
otherwise.public boolean getAllowMultiValue()
IParameterField
Returns true
if the user
can select more than one value for a parameter when
the report is refreshed; returns false
if the user can only choose one value for the parameter.
getAllowMultiValue
in interface IParameterField
true
if the user
can select more than one value for a parameter when
the report is refreshed, and false
otherwise.public boolean getAllowNullValue()
IParameterField
Returns true
if the value for the parameter may be NULL
and false
otherwise.
This is used only for stored SQL procedures.
getAllowNullValue
in interface IParameterField
true
if the value for the parameter may be NULL,
and false
otherwise.public IField getBrowseField()
IParameterField
Returns the database field whose values are being used as default values for the parameter. This is used for UI-display purposes.
getBrowseField
in interface IParameterField
IField
interface.public Values getCurrentValues()
IParameterField
Returns the values that are currently being used
for the parameter. Use the
ParameterFieldController.setCurrentValues(String, String, Object[])
method to set the current values.
getCurrentValues
in interface IParameterField
Values
object.public ParameterDefaultValueDisplayType getDefaultValueDisplayType()
For internal use only.
getDefaultValueDisplayType
in interface IParameterField
ParameterDefaultValueDisplayType
object.public Values getDefaultValues()
IParameterField
Returns the default values that may be used for the parameter.
getDefaultValues
in interface IParameterField
Values
object.public ParameterSortMethod getDefaultValueSortMethod()
IParameterField
Returns whether the default values are sorted by value or by the value's description. This is used for UI-display purposes.
getDefaultValueSortMethod
in interface IParameterField
ParameterSortMethod
object.public ParameterSortOrder getDefaultValueSortOrder()
IParameterField
Returns the manner in which the values or the values' descriptions are sorted.
getDefaultValueSortOrder
in interface IParameterField
ParameterSortOrder
object.public java.lang.String getEditMask()
IParameterField
Returns the edit mask for the parameter values. This is used for UI-display purposes. The edit mask can be any of a set of masking characters used to restrict the values you can enter as parameter values. The edit mask also limits the values you can enter as default prompting values.
Note: The value of the edit mask is not checked if you use the SDK to change parameter values. You must check to ensure that any values the user enters respect the edit mask. If a user enters an invalid value according to the edit mask, it will not be possible to view or schedule the report.
The edit mask follows the following guidelines:
Note: Some of the edit mask characters require that you enter a character in their place (when entering a parameter value), while others allow you to leave a space, if needed. For example, if the edit mask is 000099, you can enter a parameter value with four digits, five digits, or six digits, since the '9' edit mask character does not require the entry of a character. However, since '0' does require such an entry, you could not enter a parameter value with less than four digits.
getEditMask
in interface IParameterField
String
.public FieldKind getKind()
IField
Returns what kind of field this is. Do not confuse this property with Type. Kind identifies what sort of report field this is, while Type identifies what the field is composed of. For example, a bitmap, string, chart, number, date, and so on.
getKind
in interface IField
String
that specifies what kind of field this is.public IParameterFieldDiscreteValue getMaximumValue()
IParameterField
Returns the maximum value the parameter can have, providing that a minimum value is also specified.
If the parameter is discrete, the discrete values must be between the minimum and maximum values. If the parameter has a range limit, both the maximum and minimum values are defined. The BeginValue and/or EndValue of each ranged value must be between the minimum and maximum values.
If the parameter is a number, this property represents the largest allowable number the parameter may have. If it is a string, this is the maximum length the string may be. If it is a Date/Time value, this is the earliest date and time the parameter may be. This property does not apply to Boolean values.
getMaximumValue
in interface IParameterField
IParameterFieldDiscreteValue
object.public IParameterFieldDiscreteValue getMinimumValue()
IParameterField
Returns the minimum value the parameter can have, providing that a maximum value is also specified.
If the parameter is discrete, the discrete values must be between the minimum and maximum values. If the parameter has a range limit, both the maximum and minimum values are defined. The BeginValue and/or EndValue of each ranged value must be between the minimum and maximum values.
If the parameter is a number, this property represents the smallest allowable number the parameter may have. If it is a string, this is the minimum length the string may be. If it is a Date/Time value, this is the earliest date and time the parameter may be. This property does not apply to Boolean values.
getMinimumValue
in interface IParameterField
IParameterFieldDiscreteValue
object.public ParameterFieldType getParameterType()
IParameterField
Returns how the parameter is being used as a type value.
getParameterType
in interface IParameterField
ParameterFieldType
object.public java.lang.String getReportName()
IParameterField
Returns the name of the report to which the parameter belongs. This string is empty if the parameter belongs in a main report; if the parameter is contained in a subreport, this contains the name of the subreport.
getReportName
in interface IParameterField
String
.public java.lang.String getShortName(java.util.Locale locale)
IField
Returns the short name of the field.
getShortName
in interface IField
getShortName
in class Field
locale
- The locale that will be used to localize the field name.
String
containing the short name of the field.public int getUsage()
public ParameterValueRangeKind getValueRangeKind()
IParameterField
Returns whether the parameter is discrete, ranged, or both.
getValueRangeKind
in interface IParameterField
ParameterValueRangeKind
object.public Values getValues()
IParameterField
Returns the current values for the parameter, or the default
values if no current values are defined.
This is equivalent to the IParameterField.getCurrentValues()
method
unless it is empty, in which case it is equivalent
to the IParameterField.getDefaultValues()
method.
getValues
in interface IParameterField
Values
object.public boolean hasContent(java.lang.Object srcParameterField)
hasContent
in class Field
public void readElement(java.lang.String eleName, java.lang.String sVal, org.xml.sax.Attributes attrs, java.util.Map objState)
For internal use only.
readElement
in class Field
public void save(XMLWriter writer, XMLSerializationContext ctxt) throws java.io.IOException
For internal use only.
save
in class Field
java.io.IOException
public void save(XMLWriter writer, java.lang.String sTag, XMLSerializationContext ctxt) throws java.io.IOException
For internal use only.
save
in class Field
java.io.IOException
public void saveContents(XMLWriter writer, XMLSerializationContext ctxt) throws java.io.IOException
For internal use only.
saveContents
in class Field
java.io.IOException
public void setAllowCustomCurrentValues(boolean allowCustomCurrentValues)
IParameterField
Sets if the user can enter custom values for a parameter when the report is refreshed. If this property is True, users can enter any value for the parameter. If it is False, they must choose from one of the default values.
setAllowCustomCurrentValues
in interface IParameterField
allowCustomCurrentValues
- true
if the user can enter
custom values for a parameter
when the report is refreshed, and false
otherwise.public void setAllowMultiValue(boolean allowMultiValue)
IParameterField
Sets if the user can select more than one value for a parameter when the report is refreshed.
setAllowMultiValue
in interface IParameterField
allowMultiValue
- true
if the user
can select more than one value for a parameter when
the report is refreshed, and false
otherwise.public void setAllowNullValue(boolean allowNullValue)
IParameterField
Set to true
if the value for the parameter may be NULL
and false
otherwise.
This is used only for stored SQL procedures.
setAllowNullValue
in interface IParameterField
allowNullValue
- true
if the value for the parameter may be NULL,
and false
otherwise.public void setBrowseField(IField browseField)
IParameterField
Sets the database field whose values are being used as default values for the parameter. This is used for UI-display purposes.
setBrowseField
in interface IParameterField
browseField
- The database field whose values are being used as
default values for the parameter as an IField
interface.public void setCurrentValues(Values currentValues)
IParameterField
Sets the values that are currently being used
for the parameter. Use the
ParameterFieldController.setCurrentValues(String, String, Object[])
method to set the current values.
setCurrentValues
in interface IParameterField
currentValues
- The current values as a Values
object.public void setDefaultValueDisplayType(ParameterDefaultValueDisplayType type)
For internal use only.
setDefaultValueDisplayType
in interface IParameterField
type
- the default value display type as a ParameterDefaultValueDisplayType
objectpublic void setDefaultValues(Values defaultValues)
IParameterField
Sets the default values that may be used for the parameter.
setDefaultValues
in interface IParameterField
defaultValues
- The default values that may be used for the parameter
as a Values
object.public void setDefaultValueSortMethod(ParameterSortMethod defaultValueSortMethod)
IParameterField
Sets whether the default values are sorted by value or by the value's description. This is used for UI-display purposes.
setDefaultValueSortMethod
in interface IParameterField
defaultValueSortMethod
- Whether the default values are sorted by value
or by the value's description as a
ParameterSortMethod
object.public void setDefaultValueSortOrder(ParameterSortOrder defaultValueSortOrder)
IParameterField
Sets the manner in which the values or the values' descriptions are sorted.
setDefaultValueSortOrder
in interface IParameterField
defaultValueSortOrder
- The manner in which the values or the values'
descriptions are sorted as a ParameterSortOrder
object.public void setEditMask(java.lang.String editMask)
IParameterField
Sets the edit mask for the parameter values. This is used for UI-display purposes. The edit mask can be any of a set of masking characters used to restrict the values you can enter as parameter values. The edit mask also limits the values you can enter as default prompting values.
Note: The value of the edit mask is not checked if you use the SDK to change parameter values. You must check to ensure that any values the user enters respect the edit mask. If a user enters an invalid value according to the edit mask, it will not be possible to view or schedule the report.
The edit mask follows the following guidelines:
Note: Some of the edit mask characters require that you enter a character in their place (when entering a parameter value), while others allow you to leave a space, if needed. For example, if the Edit Mask is 000099, you can enter a parameter value with four digits, five digits, or six digits, since the '9' edit mask character does not require the entry of a character. However, since '0' does require such an entry, you could not enter a parameter value with less than four digits.
setEditMask
in interface IParameterField
editMask
- The edit mask as a String
.public void setMaximumValue(IParameterFieldDiscreteValue maximumValue)
IParameterField
Sets the maximum value the parameter can have, providing that a minimum value is also specified.
If the parameter is discrete, the discrete values must be between the minimum and maximum values. If the parameter has a range limit, both the maximum and minimum values are defined. The BeginValue and/or EndValue of each ranged value must be between the minimum and maximum values.
If the parameter is a number, this property represents the largest allowable number the parameter may have. If it is a string, this is the maximum length the string may be. If it is a Date/Time value, this is the earliest date and time the parameter may be. This property does not apply to Boolean values.
setMaximumValue
in interface IParameterField
maximumValue
- The IParameterFieldDiscreteValue
object.public void setMinimumValue(IParameterFieldDiscreteValue minimumValue)
IParameterField
Sets the minimum value the parameter can have, providing that a maximum value is also specified.
If the parameter is discrete, the discrete values must be between the minimum and maximum values. If the parameter has a range limit, both the maximum and minimum values are defined. The BeginValue and/or EndValue of each ranged value must be between the minimum and maximum values.
If the parameter is a number, this property represents the smallest allowable number the parameter may have. If it is a string, this is the minimum length the string may be. If it is a Date/Time value, this is the earliest date and time the parameter may be. This property does not apply to Boolean values.
setMinimumValue
in interface IParameterField
minimumValue
- The IParameterFieldDiscreteValue
object.public void setParameterType(ParameterFieldType parameterType)
IParameterField
Sets how the parameter is being used as a type value.
setParameterType
in interface IParameterField
parameterType
- The parameter field type as a
ParameterFieldType
object.public void setReportName(java.lang.String reportName)
IParameterField
Sets the name of the report to which the parameter belongs. This string is empty if the parameter belongs in a main report; if the parameter is contained in a subreport, this contains the name of the subreport.
setReportName
in interface IParameterField
reportName
- The name of the report as a String
.
Set this string as empty if the parameter belongs in a main report;
if the parameter is contained in a subreport, set
this to contain the name of the subreport.public void setUsage(int usage)
For internal use only.
public void setValueRangeKind(ParameterValueRangeKind valueRangeKind)
IParameterField
Sets whether the parameter is discrete, ranged, or both.
setValueRangeKind
in interface IParameterField
valueRangeKind
- Whether the parameter is discrete, ranged, or both
as a ParameterValueRangeKind
object.public boolean getIsOptionalPrompt()
IParameterField
Gets whether the parameter is optional.
Optional parameter prompts do not require a parameter value to be provided. No visual cue in the parameter dialog indicates that a parameter is optional; however, the report designer may add custom text to the prompt text indicating it is optional.
If an optional parameter prompt is given a Values collection whose “IsNoValue” property is set to true, the user will not be prompted to enter a value.
getIsOptionalPrompt
in interface IParameterField
true
if the parameter is optional.getIsNoValue()
,
setIsNoValue()
public void setIsOptionalPrompt(boolean isOptionalPrompt)
IParameterField
Sets whether the parameter is optional.
Optional parameter prompts do not require a parameter value to be provided. No visual cue in the parameter dialog indicates that a parameter is optional; however, the report designer may add custom text to the prompt text indicating it is optional.
If an optional parameter prompt is given a Values collection whose “IsNoValue” property is set to true, the user will not be prompted to enter a value.
setIsOptionalPrompt
in interface IParameterField
isOptionalPrompt
- booleangetIsNoValue()
,
setIsNoValue()
public boolean isPromptWithDescriptionOnlyEnabled()
isPromptWithDescriptionOnlyEnabled
in interface IParameterField
public void enablePromptWithDescriptionOnly(boolean enable)
enablePromptWithDescriptionOnly
in interface IParameterField
public java.lang.String getId()
public void setId(java.lang.String id)
public boolean getIsAutoCreated()
For internal use only.
public void setIsAutoCreated(boolean isAutoCreated)
For internal use only.
public void setType(FieldValueType valueType)
IField
Sets what type of field this is. Do not confuse this property with Kind. Kind identifies what sort of report field this is, while Type identifies what data it stores. For example, a bitmap, string, 8 bit integer, chart, etc.
setType
in interface IField
setType
in class Field
valueType
- A FieldValueType
object that specifies what type of field
this is.public boolean getIsShownOnPanel()
IParameterField
Gets whether the parameter is shown on panel on viewer parameter panel.
getIsShownOnPanel
in interface IParameterField
true
if the parameter is shown on panel.public void setIsShownOnPanel(boolean isShownOnPanel)
IParameterField
Sets whether the parameter is is shown on panel on viewer parameter panel.
setIsShownOnPanel
in interface IParameterField
isShownOnPanel
- booleanpublic boolean getIsEditableOnPanel()
IParameterField
Gets whether the parameter is editable on viewer parameter panel.
getIsEditableOnPanel
in interface IParameterField
true
if the parameter is editable.public void setIsEditableOnPanel(boolean isEditableOnPanel)
IParameterField
Sets whether the parameter is editable on viewer parameter panel.
setIsEditableOnPanel
in interface IParameterField
isEditableOnPanel
- booleanpublic ControllableMixin getControllableMixin()
getControllableMixin
in class Field
public void doControllerModification(java.lang.Object newObject) throws ReportSDKException
ReportSDKException
public boolean isDirectlyControllable()
public void enumerateMembers(IMemberVisitor visitor)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |