## Uses of Class
com.ihr.xbrl.om.taxonomy.XBRLRoleType

- Packages that use XBRLRoleType
  Package | Description
  --- | ---
  com.ihr.xbrl.adins.efm.errors | Provides classes for the specific error messages for the the implementation of the Edgar Filer Manual validation add-in This package is part of the implementation of the Edgar Filer Manual
  com.ihr.xbrl.dts | Provides the classes necessary to investigate the content of a DTS.
  com.ihr.xbrl.om | Provides the classes necessary to start processing XBRL information.
  com.ihr.xbrl.om.errors | Provides the classes necessary to produce and process XBRL related errors There are two error categories.
  com.ihr.xbrl.om.exLinks | Provides the classes necessary to process, read and write XBRL Linkbases and XBRL Extended links.
  com.ihr.xbrl.om.formula.functions.reusable | Contains classes than can be reused from XFI functions and other classes in the API that requires the same functionality but without the overhead of being an XFI function with parameters
  com.ihr.xbrl.om.taxonomy | Provides the classes necessary to process, write and read XBRL Taxonomy schemas and content of the XBRL Taxonomy Schemas that requires XBRL processing.
  com.ihr.xbrl.om.xdt | Provides the classes necessary to implement a plug in XBRL processor for validation of dimensional instance documents according to the XBRL Dimensions specification 1.0 This package contains two hierarchies of classes.
  com.ihr.xbrl.pojo | Provides the classes necessary to access to the content of a DTS using POJO technology.
  com.ihr.xbrl.util | Provides utility classes with static methods that are used by other classes This is a common container for utilities like resolving relative URIs from two absolute URIs or formatting an XML document to a String...
  com.rs.xbrl |

- - ### Uses of XBRLRoleType in com.ihr.xbrl.adins.efm.errors

    Constructors in com.ihr.xbrl.adins.efm.errors with parameters of type XBRLRoleType
    Constructor and Description
    `EFMInvalidDefinitionOnRoleType(XBRLRoleType rt)` Instantiates a new EFM invalid definition on role type.
    `EFMInvalidUsedOnRoleTypeDefinition(XBRLRoleType rt)` Instantiates a new EFM invalid used on role type definition.
    `EFMRoleTypeCannotBeUsedOnResource(XBRLRoleType roleType, XBRLResource xbrlResource)` Instantiates a new EFM role type cannot be used on resource.

  - ### Uses of XBRLRoleType in com.ihr.xbrl.dts

    Methods in com.ihr.xbrl.dts that return XBRLRoleType
    Modifier and Type | Method and Description
    --- | ---
    `XBRLRoleType` | LabelsProviderBasic.`getLabelRole()` Returns the label role set.
    `XBRLRoleType` | XBRLTreeNode.`getPreferredLabelRole()` Gets the preferred label role.
    `XBRLRoleType` | KeysForFactsProvider.ReferenciableFact.`getRole()` Gets the role.
    `XBRLRoleType` | HasAccessSelectedRole.`getSelectedRole()` Gets the selected role.

    Methods in com.ihr.xbrl.dts that return types with arguments of type XBRLRoleType
    Modifier and Type | Method and Description
    --- | ---
    `java.util.Iterator<XBRLRoleType>` | LabelsProviderBasic.`getLabelRoles()` Access to all label roles in label extended links in the DTS.

    Methods in com.ihr.xbrl.dts with parameters of type XBRLRoleType
    Modifier and Type | Method and Description
    --- | ---
    `java.util.Collection<ClsPackQNameContainer>` | DimensionalInstanceExplorer.`getItemDimensions(XMLElementDefinition item, XBRLRoleType role)` Returns a collection of dimensions that are applicable for this primary item.
    `java.lang.String` | LabelsProviderBasic.`getLabel(XMLElementDefinition el, XBRLRoleType preferredRole)`
    `java.lang.String` | LabelsProvider.`getLabel(XMLElementDefinition el, XBRLRoleType preferredRole)` Returns a label for the element corresponding to the preferredRole.
    `static int` | FactUseItem.`getUseFromRole(XBRLRoleType role)` The return value is one of, FactUse.NORMAL, FactUseItem.BEGINNING or FactUseItem.END
    `static boolean` | RoleChecker.`isNegated(XBRLRoleType role)` Returns true if the role type passed in the role parameter is defined as a negated role The list of negated roles is in the NegatedSupport interface.
    `static boolean` | RoleChecker.`isNet(XBRLRoleType role)` Returns true if the role type passed in the role parameter is defined as a net role The list of net roles is in the NetSupport interface.
    `static boolean` | RoleChecker.`isTotal(XBRLRoleType role)` Returns true if the role type passed in the role parameter is defined as a total role The list of total roles is in the TotalSupport interface.
    `void` | XBRLTreeNode.`setLabelsRoles(XBRLRoleType[] roles)` Sets the roles (and the order of the roles) of extended links in which labels will be retrieved from the labels linkbase.

    Constructors in com.ihr.xbrl.dts with parameters of type XBRLRoleType
    Constructor and Description
    `KeysForFactsProvider.ReferenciableFact(XBRLFact fact, XBRLRoleType role)` Instantiates a new referenciable fact.
    `PackRoleTypeAndItem(XBRLRoleType role, XBRLItem item)` Instantiates a new pack role type and item.
    `PDimension(XDTPrimaryItem pItem, XBRLRoleType role)` Used for representing domain-member structures.
    `XBRLTreeNode(XBRLTreeNode parent, XMLFragment node, XBRLTreeWalker walker, XBRLRoleType labelRole, java.lang.String weight)` Creates an XBRLTreeNode.
    `XBRLTreeRoot(XMLFragment node, XBRLRoleType labelRole, XBRLTreeWalker walker)` Instantiates a new XBRL tree root.
    `XDimension(DimensionalInstanceExplorer dimensionalInstanceExplorer, int container, XDTDimensionUse dUse, XBRLRoleType role)` Instantiates a new x dimension.

  - ### Uses of XBRLRoleType in com.ihr.xbrl.om

    Methods in com.ihr.xbrl.om that return XBRLRoleType
    Modifier and Type | Method and Description
    --- | ---
    `XBRLRoleType` | DTSContainer.`getStaticRoleTypeByURI(java.lang.String role)` Gets the static role type by uri.

    Methods in com.ihr.xbrl.om that return types with arguments of type XBRLRoleType
    Modifier and Type | Method and Description
    --- | ---
    `java.util.Iterator<XBRLRoleType>` | DTSContainer.`getBaseRoles(javax.xml.namespace.QName linkbaseType)` Iterator over all roles used on xlink:role attributes on extended links Iterator elements can be casted to XBRLRoleType objects.
    `java.util.Iterator<XBRLRoleType>` | DTSContainer.`getBaseRoleTypes(javax.xml.namespace.QName extendedLinkQName)` Return an iterator over all XBRLRoleType elements where DTSBase exists.
    `java.util.Vector<XBRLRoleType>` | DTSContainer.`getRoleType(java.lang.String uri)` Access to the roleType object from the URI regardless where it is defined or if there are multiple valid definitions of the same role URI.
    `java.util.Iterator<XBRLRoleType>` | DTSContainer.`getRoleTypes()` Access to an iterator over defined XBRL Role Types defined on all taxonomies in the loaded DTS.

    Methods in com.ihr.xbrl.om with parameters of type XBRLRoleType
    Modifier and Type | Method and Description
    --- | ---
    `void` | DTSContainer.`addRoleType(XBRLRoleType role)` Register a new roleType declaration.
    `void` | DTSContainer.`addRoleTypeForExtendedLink(javax.xml.namespace.QName linkbaseType, XBRLRoleType role)` Adds or increases the count of role types for a linkbase type.
    `void` | DTSContainer.`delRoleType(XBRLRoleType role)` Unregister a registered roleType.
    `void` | DTSContainer.`delRoleTypeForExtendedLink(javax.xml.namespace.QName linkbaseType, XBRLRoleType role)` Removes or decreases the count of role types for a linkbase type.
    `DTSBase` | DTSContainer.`getBase(javax.xml.namespace.QName linkbaseType, XBRLRoleType role)` Obtains a base for the specified linkbaseType and role type.
    `java.util.Iterator<XBRLExtendedLink>` | XBRLDocument.`getExtendedLinks(XBRLRoleType role)` Returns an iterator over all extended links on this container filtered by the specific role type indicated in the role parameter.
    `boolean` | DTSContainer.`isBaseDefined(javax.xml.namespace.QName linkbaseType, XBRLRoleType role)` Returns true if there is a DTSbase defined in the DTS for the given role and of the specified linkbaseType.

  - ### Uses of XBRLRoleType in com.ihr.xbrl.om.errors

    Methods in com.ihr.xbrl.om.errors that return XBRLRoleType
    Modifier and Type | Method and Description
    --- | ---
    `XBRLRoleType` | XBRLInconsistencyComparingWithZeroPrecisionZero.`getRole()` Gets the role.
    `XBRLRoleType` | XBRLInconsistencyCalculationSkipped.`getRole()` Gets the role.
    `XBRLRoleType` | XBRLInconsistencyCalculationMismatch.`getRole()` Gets the role.

    Methods in com.ihr.xbrl.om.errors with parameters of type XBRLRoleType
    Modifier and Type | Method and Description
    --- | ---
    `static java.lang.String` | LinkableErrorMessageHelpers.`getLinkForFact(XBRLFact fact, XBRLRoleType role, KeysForFactsProvider kp)` Gets the link for fact.
    `static java.lang.String` | LinkableErrorMessageHelpers.`getLinkForFact(XBRLFact fact, XBRLRoleType role, KeysForFactsProvider kp, int modifiers, LabelsProvider lp)` Gets the link for fact.

    Constructors in com.ihr.xbrl.om.errors with parameters of type XBRLRoleType
    Constructor and Description
    `XBRLInconsistencyCalculationMismatch(XBRLRoleType role, XBRLFactNumeric factTotal, XBRLNumber accumulated, java.util.Vector<XBRLInconsistency.Contributor> contributors)` Instantiates a new XBRL inconsistency calculation mismatch.
    `XBRLInconsistencyCalculationSkipped(XBRLRoleType role, XBRLFactItem factTotal, XBRLFactItem factItem, XBRLFactItem factItem2)` Instantiates a new XBRL inconsistency calculation skipped.
    `XBRLInconsistencyComparingWithZeroPrecisionZero(XBRLRoleType role, XBRLFactNumeric factTotal, XBRLNumber sum, java.util.Vector<XBRLInconsistency.Contributor> contributors)` Instantiates a new XBRL inconsistency comparing with zero precision zero.
    `XBRLValidationExceptionMultipleRoleTypeDefinitions(XBRLRoleType role1, XBRLRoleType role2)` Instantiates a new XBRL validation exception multiple role type definitions.

  - ### Uses of XBRLRoleType in com.ihr.xbrl.om.exLinks

    Methods in com.ihr.xbrl.om.exLinks that return XBRLRoleType
    Modifier and Type | Method and Description
    --- | ---
    `XBRLRoleType` | DTSBase.`getRole()` Gets the role.
    `XBRLRoleType` | XBRLRoleRef.`getRoleType()` Gets the role type.
    `XBRLRoleType` | XBRLResource.`getRoleType()` Access to the [Role Type] property The resource is validated against the content of the roleType information Return null if no roleType exist on resource.
    `XBRLRoleType` | XBRLLocator.`getRoleType()` Access to the [Role Type] property The resource is validated against the content of the roleType information Return null if no roleType exist on resource.
    `XBRLRoleType` | XBRLExtendedLink.`getRoleType()` Access to the [Role Type] property of this object Validates this extended link QName in on the used on list of the roleType.

    Methods in com.ihr.xbrl.om.exLinks with parameters of type XBRLRoleType
    Modifier and Type | Method and Description
    --- | ---
    `void` | XBRLLinkbase.`checkRoleType(XBRLRoleType roleType, java.net.URI txURI)` Check role type.
    `static XBRLExtendedLink` | XBRLExtendedLink.`createExtendedLink(XBRLDocument parent, javax.xml.namespace.QName rootElementName, XBRLRoleType role)` Creates the extended link.
    `java.util.Iterator<XBRLLabelResource>` | LabelLinkbase.`getLabelsForRole(XBRLRoleType role)` Gets the labels for role.
    `void` | XBRLResource.`setRoleType(XBRLRoleType role)` Sets the role type.
    `void` | XBRLLocator.`setRoleType(XBRLRoleType role)` Sets the role type.
    `void` | XBRLExtendedLink.`setRoleType(XBRLRoleType newRoleType)` Sets the role type.

    Constructors in com.ihr.xbrl.om.exLinks with parameters of type XBRLRoleType
    Constructor and Description
    `CalculationLinkbase(XBRLDocument parent, XBRLRoleType role)` Creates a CalculationLinkbase extended link.
    `DefinitionLinkbase(XBRLDocument parent, XBRLRoleType role)` Creates a DefinitionLinkbase extended link container.
    `DTSBase(DTSContainer dts, javax.xml.namespace.QName linkbaseType, XBRLRoleType role)` Creates an empty base (no extended links).
    `FootnoteLinkbase(XBRLDocument parent, XBRLRoleType role)` Creates a Footnote extended link.
    `FormulaLinkbase(XBRLDocument parent, XBRLRoleType role)` Creates a new Formula Linkbase extended link container.
    `GenericLinkbase(XBRLDocument parent, XBRLRoleType role)` Creates a new GenericLinkbase extended link container.
    `LabelLinkbase(XBRLDocument parent, XBRLRoleType role)` Creates a LabelLinkbase extended link container.
    `OtherLinkbase(XBRLDocument parent, XBRLRoleType role, javax.xml.namespace.QName lbType)` Instantiates a new other linkbase.
    `PresentationLinkbase(XBRLDocument parent, XBRLRoleType role)` Creates a new PresentationLinkbase extended link container.
    `ReferenceLinkbase(XBRLDocument parent, XBRLRoleType role)` Creates a new ReferenceLinkbase extended link container.
    `VersionLinkbase(XBRLDocument parent, XBRLRoleType role)` Deprecated. don't use this object as versioning meta data is no longer stored in a linkbase
    `XBRLLabelResource(XBRLExtendedLink parent, java.lang.String lang, java.lang.String label, XBRLRoleType role)` Applications creating a new label resource.
    `XBRLRoleRef(XBRLDocument parent, XBRLRoleType role)` Instantiates a new XBRL role ref.

  - ### Uses of XBRLRoleType in com.ihr.xbrl.om.formula.functions.reusable

    Method parameters in com.ihr.xbrl.om.formula.functions.reusable with type arguments of type XBRLRoleType
    Modifier and Type | Method and Description
    --- | ---
    `static void` | RC_XFI_concept_relationships_drs.`collectRelationships(java.util.ArrayList<XBRLRelationship> relationships, RC_XFI_concept_relationships_drs.Axis axis, XMLElementDefinition concept, java.util.Vector<XBRLRoleType> vRoles, int generations)` Collect relationships.
    `static void` | RC_XFI_concept_relationships.`collectRelationships(java.util.ArrayList<XBRLRelationship> relationships, RC_XFI_concept_relationships.Axis axis, XMLElementDefinition concept, java.util.Vector<XBRLRoleType> vRoles, java.util.Vector<XBRLArcroleType> vArcRoles, int generations, net.sf.saxon.value.QNameValue linkName, net.sf.saxon.value.QNameValue arcName)` Collect relationships.

  - ### Uses of XBRLRoleType in com.ihr.xbrl.om.taxonomy

    Fields in com.ihr.xbrl.om.taxonomy declared as XBRLRoleType
    Modifier and Type | Field and Description
    --- | ---
    `static XBRLRoleType` | XBRLRoleType.`STANDARD_DOCUMENTATION` The standard documentation.
    `static XBRLRoleType` | XBRLRoleType.`STANDARD_FOOTNOTE` Static roles on resources.
    `static XBRLRoleType` | XBRLRoleType.`STANDARD_LABEL` The standard label.
    `static XBRLRoleType` | XBRLRoleType.`STANDARD_LABEL_COMMENTARY_GUIDANCE` The standard label commentary guidance.
    `static XBRLRoleType` | XBRLRoleType.`STANDARD_LABEL_DEFINITION_GUIDANCE` The standard label definition guidance.
    `static XBRLRoleType` | XBRLRoleType.`STANDARD_LABEL_DISCLOSURE_GUIDANCE` The standard label disclosure guidance.
    `static XBRLRoleType` | XBRLRoleType.`STANDARD_LABEL_EXAMPLE_GUIDANCE` The standard label example guidance.
    `static XBRLRoleType` | XBRLRoleType.`STANDARD_LABEL_MEASUREMENT_GUIDANCE` The standard label measurement guidance.
    `static XBRLRoleType` | XBRLRoleType.`STANDARD_LABEL_NEGATIVE` The standard label negative.
    `static XBRLRoleType` | XBRLRoleType.`STANDARD_LABEL_NEGATIVE_TERSE` The standard label negative terse.
    `static XBRLRoleType` | XBRLRoleType.`STANDARD_LABEL_NEGATIVE_VERBOSE` The standard label negative verbose.
    `static XBRLRoleType` | XBRLRoleType.`STANDARD_LABEL_PERIOD_END` The standard label period end.
    `static XBRLRoleType` | XBRLRoleType.`STANDARD_LABEL_PERIOD_START` The standard label period start.
    `static XBRLRoleType` | XBRLRoleType.`STANDARD_LABEL_POSITIVE` The standard label positive.
    `static XBRLRoleType` | XBRLRoleType.`STANDARD_LABEL_POSITIVE_TERSE` The standard label positive terse.
    `static XBRLRoleType` | XBRLRoleType.`STANDARD_LABEL_POSITIVE_VERBOSE` The standard label positive verbose.
    `static XBRLRoleType` | XBRLRoleType.`STANDARD_LABEL_PRESENTATION_GUIDANCE` The standard label presentation guidance.
    `static XBRLRoleType` | XBRLRoleType.`STANDARD_LABEL_TERSE` The standard label terse.
    `static XBRLRoleType` | XBRLRoleType.`STANDARD_LABEL_TOTAL` The standard label total.
    `static XBRLRoleType` | XBRLRoleType.`STANDARD_LABEL_VERBOSE` The standard label verbose.
    `static XBRLRoleType` | XBRLRoleType.`STANDARD_LABEL_ZERO` The standard label zero.
    `static XBRLRoleType` | XBRLRoleType.`STANDARD_LABEL_ZERO_TERSE` The standard label zero terse.
    `static XBRLRoleType` | XBRLRoleType.`STANDARD_LABEL_ZERO_VERBOSE` The standard label zero verbose.
    `static XBRLRoleType` | XBRLRoleType.`STANDARD_LINKBASE_CALCULATION` The standard linkbase calculation.
    `static XBRLRoleType` | XBRLRoleType.`STANDARD_LINKBASE_DEFINITION` The standard linkbase definition.
    `static XBRLRoleType` | XBRLRoleType.`STANDARD_LINKBASE_LABEL` Static roles on linkbaseRef elements.
    `static XBRLRoleType` | XBRLRoleType.`STANDARD_LINKBASE_PRESENTATION` The standard linkbase presentation.
    `static XBRLRoleType` | XBRLRoleType.`STANDARD_LINKBASE_REFERENCE` The standard linkbase reference.
    `static XBRLRoleType` | XBRLRoleType.`STANDARD_REFERENCE` The standard reference.
    `static XBRLRoleType` | XBRLRoleType.`STANDARD_REFERENCE_COMMENTARY` The standard reference commentary.
    `static XBRLRoleType` | XBRLRoleType.`STANDARD_REFERENCE_DEFINITION` The standard reference definition.
    `static XBRLRoleType` | XBRLRoleType.`STANDARD_REFERENCE_DISCLOSURE` The standard reference disclosure.
    `static XBRLRoleType` | XBRLRoleType.`STANDARD_REFERENCE_EXAMPLE` The standard reference example.
    `static XBRLRoleType` | XBRLRoleType.`STANDARD_REFERENCE_MANDATORY_DISCLOSURE` The standard reference mandatory disclosure.
    `static XBRLRoleType` | XBRLRoleType.`STANDARD_REFERENCE_MEASUREMENT` The standard reference measurement.
    `static XBRLRoleType` | XBRLRoleType.`STANDARD_REFERENCE_PRESENTATION` The standard reference presentation.
    `static XBRLRoleType` | XBRLRoleType.`STANDARD_REFERENCE_RECOMMENDED_DISCLOSURE` The standard reference recommended disclosure.
    `static XBRLRoleType` | XBRLRoleType.`STANDARD_REFERENCE_UNSPECIFIED_DISCLOSURE` The standard reference unspecified disclosure.
    `static XBRLRoleType` | XBRLRoleType.`STANDARD_ROLE_URI` There is one static definition of the standard role each time a DTSContainer is created a local copy of this object is created in that DTSContainer.

    Methods in com.ihr.xbrl.om.taxonomy that return XBRLRoleType
    Modifier and Type | Method and Description
    --- | ---
    `XBRLRoleType` | XBRLTaxonomy.`getRoleTypeByURI(java.lang.String uri)` Access to a role type definition for a given URI if that role type exists on this taxonomy. returns null if there is no such role type for the given URI.

    Methods in com.ihr.xbrl.om.taxonomy that return types with arguments of type XBRLRoleType
    Modifier and Type | Method and Description
    --- | ---
    `java.util.Iterator<XBRLRoleType>` | XBRLTaxonomy.`getRoleTypes()` Returns an iterator over all role types defined in this taxonomy.

    Methods in com.ihr.xbrl.om.taxonomy with parameters of type XBRLRoleType
    Modifier and Type | Method and Description
    --- | ---
    `void` | XBRLTaxonomy.`addRoleType(XBRLRoleType role)` Adds a new role type to the set of role types defined in this taxonomy.
    `int` | XBRLRoleAndArcroleTypes.`compareTo(XBRLRoleType o)`
    `boolean` | XMLElementDefinition.`isTotal(XBRLRoleType role)` Returns true if the role passed in is defined as a total role.
    `void` | XBRLTaxonomy.`removeRoleType(XBRLRoleType role)` Removes a role type from the set of role types defined in this taxonomy.

    Constructors in com.ihr.xbrl.om.taxonomy with parameters of type XBRLRoleType
    Constructor and Description
    `XBRLRoleType(DTSContainer newDts, XBRLRoleType other)` Instantiates a new XBRL role type.
    `XBRLRoleType(XBRLRoleType other)` Instantiates a new XBRL role type.

  - ### Uses of XBRLRoleType in com.ihr.xbrl.om.xdt

    Methods in com.ihr.xbrl.om.xdt that return XBRLRoleType
    Modifier and Type | Method and Description
    --- | ---
    `static XBRLRoleType` | XDTProcessor.`getTargetRole(XBRLRelationship rel)` Returns the XBRLRoleType pointed to by the xbrldt:targetRole attribute on the relationship rel.

    Methods in com.ihr.xbrl.om.xdt that return types with arguments of type XBRLRoleType
    Modifier and Type | Method and Description
    --- | ---
    `java.util.Collection<XBRLRoleType>` | XDTDimensionalPrimaryItem.`getRolesForDimensions()` Access to the XBRLRoleTypes this primary item has dimensions.

    Methods in com.ihr.xbrl.om.xdt with parameters of type XBRLRoleType
    Modifier and Type | Method and Description
    --- | ---
    `java.util.Collection<XDTDimensionUse>` | XDTDimensionalPrimaryItem.`getDimensions(XBRLRoleType role)` Access to all dimensions declared in hypercubes related with this primary item in a particular role.

  - ### Uses of XBRLRoleType in com.ihr.xbrl.pojo

    Methods in com.ihr.xbrl.pojo that return XBRLRoleType
    Modifier and Type | Method and Description
    --- | ---
    `XBRLRoleType` | XBRLRSGenerator.`generate(XBRLRoleType role, java.lang.String key)` Generate.

    Methods in com.ihr.xbrl.pojo with parameters of type XBRLRoleType
    Modifier and Type | Method and Description
    --- | ---
    `XBRLRoleType` | XBRLPojoGenerator.`generate(XBRLRoleType dtsRoleType)` Generate.

  - ### Uses of XBRLRoleType in com.ihr.xbrl.util

    Methods in com.ihr.xbrl.util with parameters of type XBRLRoleType
    Modifier and Type | Method and Description
    --- | ---
    `static java.net.URI` | URITools.`makeProperFileName(java.net.URI baseURI, XBRLRoleType role, java.lang.String extension)` Generates an absolute file name in the same directory indicated by baseURI using the role type to extract information from it and adding the extension indicated in the extension parameter.

  - ### Uses of XBRLRoleType in com.rs.xbrl

    Methods in com.rs.xbrl that return XBRLRoleType
    Modifier and Type | Method and Description
    --- | ---
    `static XBRLRoleType` | TaxonomyBuilderUtils.`getRole(java.lang.String role, GenerationContext gc)` Access to all roles defined in the DTS and returns one by role text.