MicroStrategy ONE

AbstractAppTransform

The goal for this class and derived, abstract, and concrete classes is to provide:

  • access to universally-present formal parameters for easy customization wherever possible.  

  • consistent transform methods based upon the state of a page’s beans.  

  • component-based and easy-to-understand methods for programmatic overriding in derived custom classes.  

  • the abstract method transformForRequestSuccessful() that generates the output when the bean's status is EnumRequestStatus.WebBeanRequestSuccessful.

The AbstractAppTransform class extends the AbstractTransform class (which implements the Transform interface) and is the base class for every transform shipped with the MicroStrategy Web products. This abstract class acts as the parent of all transforms in the application package and defines a set of methods that can be overridden or extended by the concrete classes that implement it. Having a parent abstract class insures that:

  • The set of methods and parameters that are shared among all transforms included with and used in the application are included.

  • All transforms follow the same execution flow.

In general, AbstractAppTransform defines a set of parameters common to all transforms, such as cssName, cssPrefix, and initialIndent. It implements methods to initialize the transform from its data, initialize images, CSS classes and other transform fields. It provides convenient methods to get descriptors, add formal parameters, check for features and get resource folders. It defines a transform method for each of the possible bean states, and keeps abstract only the transformForRequestSuccesful() method that each class needs to implement.