Oracle Fusion Middleware Data Visualization Tools Tag Reference for Oracle ADF Faces 12c (12.1.2) E23187-01 |
UIComponent class: oracle.adf.view.faces.bi.component.attributeGroups.UIAttributeExceptionRule
Component type: oracle.dss.adf.attributeGroups.AttributeExceptionRule
The attributeExceptionRule tag is a child of attributeGroups that can be used to override the default values provided by the attributeGroups. This tag is used to replace an attribute value with another when a particular boolean condition is met.
The attributeExceptionRule tag uses child <f:attribute> tags to define the override values, where the name property defines the type of attribute (such as "color" or "shape"), and the value property defines the override value to use (such as "red" or "square"). When the condition of the attributeExceptionRule evaluates to true, then the style value given in the child <f:attribute> will be assigned to that group of data instead of the next value from the default ramp.
The <f:attribute> name must match one of the attributes listed in the type of the top level attributeGroups tag. If the value provided by an override also happens to be in the built-in ramp returned by the attributeGroups, then that value will only be used by the overrides and will be skipped in the built-in ramp.
This is an example of how attributeGroups and attributeExceptionRule can be used with the Thematic Map component:
<dvt:thematicMap id="map" basemap="usa"> <dvt:areaLayer id="al1" layer="states"> <dvt:areaDataLayer id="adl1" value="#{bean.model}" var="row" ...> <dvt:areaLocation id="al1" name="#{row.name}"> <!--Each stamped marker gets assigned a color and shape from the attributeGroups--> <dvt:marker id="m1"> <dvt:attributeGroups id="ag1" type="shape color" value="#{row.category}"> <!--If the row's value is > 5, then force the marker shape to be a diamond--> <dvt:attributeExceptionRule id="aer1" condition="#{row.value > 5}"> <f:attribute name="shape" value="diamond"/> </dvt:attributeExceptionRule> </dvt:attributeGroups> </dvt:marker> </dvt:areaLocation> </dvt:areaDataLayer> </dvt:areaLayer> </dvt:thematicMap>
The <dvt:attributeExceptionRule> tag can have the following children:
Type | Phases | Description |
---|---|---|
org.apache.myfaces.trinidad.event.AttributeChangeEvent | Invoke Application, Apply Request Values |
Event delivered to describe an attribute change. Attribute change events are not delivered for any programmatic change to a property. They are only delivered when a renderer changes a property without the application's specific request. An example of an attribute change event might include the width of a column that supported client-side resizing. |
Name | Type | Supports EL? | Description |
---|---|---|---|
attributeChangeListener | javax.el.MethodExpression | Only EL | a method reference to an attribute change listener. Attribute change events are not delivered for any programmatic change to a property. They are only delivered when a renderer changes a property without the application's specific request. An example of an attribute change events might include the width of a column that supported client-side resizing. |
binding | oracle.adf.view.faces.bi.component.attributeGroups.UIAttributeExceptionRule | Only EL | an EL reference that will store the component instance on a bean. This can be used to give programmatic access to a component from a backing bean, or to move creation of the component to a backing bean. |
condition | boolean | Yes | Boolean condition to check for each row. If the condition is met, then use the specified overrides |
id | String | Yes | the identifier for the component |
label | String | Yes | Text label to be used in the legend for this condition |
rendered | boolean | Yes | Default Value: true whether the component is rendered. When set to false, no output will be delivered for this component (the component will not in any way be rendered, and cannot be made visible on the client). If you want to change a component's rendered attribute from false to true using PPR, set the partialTrigger attribute of its parent component so the parent refreshes and in turn will render this component. |