MicroStrategy ONE

AbstractParameterBuilder Class  

The AbstractParameterBuilder class extends the ParameterBuilder class and is responsible for collecting all the parameter name/value pairs and target components in protected data members. This is an abstract implementation for ParameterBuilder. It stores all of the information supplied to it, but is unable to convert it to a string. Each subclass implements the toString and the isEmpty methods.

This collection is very useful because it allows parameters to be added before target components and allows targets to be changed before it is converted into a string.

The AbstractParameterBuilder class has two major implementation classes:

  • DefaultURIBuilderImpl

    Responsible for constructing a string that is used to create values that are persisted in the URL.  

  • DefaultHiddenInputBuilderImpl

    Responsible for constructing a string that is used to create hidden inputs that are passed in forms. 

The primary responsibility of these parameter builder implementation classes is to construct a string from a collection of parameters. This string is used to construct either a URL or a hidden input field for a form. An optional responsibility is to include target components in the string it constructs. These classes can also determine whether a parameter is considered “empty” and can parse a fragment into a set of parameters. For the normal URI builder, the parameter is considered empty if there is no target base and no parameters.  

Supplying fragments that must be parsed is not a recommended practice, but it is required in situations where the application cannot discern what the original key/value pairs were. An example of such a case would be a user-supplied extraUrl and extraInput parameter managed by EventManager.  These values originate from the Style Catalog Configuration file and do not exist as disparate name/value pairs.

The AbstractParameterBuilder class has other implementation classes that are used primarily or solely in portal environments:

  • NamespaceEncoder

    Responsible for encoding of form fields when Web Universal is deployed in a portal environment. It supports static URIs and form fields that need to be namespaced. When Web Universal is deployed in a non-portal environment, there is no namespace encoding. However, the strings are properly namespaced using portal-specific APIs for specific third-party portal environments. For example, in a WebSphere portal environment, the standard DefaultHiddenInputBuilderImpl class is used, but the WebSphere-specific WPSNamespaceEncoderImpl is used instead of the EmptyNamespaceEncoderImpl.  

  • WPSURIBuilderImpl  

    Responsible for building a dynamic URI to be used when Web Universal is deployed in a WebSphere portal environment.