# ListerMBean (Abstract)

Overview | Related MBeans | Attributes | Operations

## Overview

The ListerMBean interface provides a general mechanism for returning lists.

Derived MBeans extend this interface to add methods that access the data of the current object in the list. This is different from the iterator model (where the next method returns the next object in the list) because creating MBeans for each object returned in a list (for example, one MBean per user) is too expensive. In addition, it is not appropriate to return non-MBean or non-primitive types from an MBean.

The general iteration pattern is as follows:

`FooListerMBean fooLister = ...;
String cursor = lister.listFoo(...);
try {
while (fooLister.haveCurrent(cursor)) {
Foo currentVal = fooLister.getCurrentFoo(cursor);
fooLister.advance(cursor);
}
} finally { fooLister.close(cursor);
`

Fully Qualified Interface Name | If you use the `getMBeanInfo` operation in MBeanTypeServiceMBean, supply the following value as this MBean's fully qualified interface name: `weblogic.management.utils.ListerMBean`
Factory Methods | No factory methods. Instances of this MBean are created automatically.
Subtypes | The following MBeans extend or implement this MBean type:
GroupEditorMBean GroupMemberListerMBean GroupReaderMBean MemberGroupListerMBean UserEditorMBean UserReaderMBean PolicyListerMBean RoleListerMBean PKICredentialMapEditorMBean PKICredentialMapReaderMBean UserPasswordCredentialMapEditorMBean UserPasswordCredentialMapExtendedReaderMBean UserPasswordCredentialMapReaderMBean NameListerMBean ActiveDirectoryAuthenticatorMBean DefaultAuthenticatorMBean IPlanetAuthenticatorMBean LDAPAuthenticatorMBean | NovellAuthenticatorMBean OpenLDAPAuthenticatorMBean ReadOnlySQLAuthenticatorMBean SQLAuthenticatorMBean WindowsNTAuthenticatorMBean DefaultAuthorizerMBean DefaultRoleMapperMBean DefaultCredentialMapperMBean PKICredentialMapperMBean CertificateRegistryMBean SAMLAssertingPartyRegistryMBean SAMLPartnerRegistryMBean SAMLRelyingPartyRegistryMBean SAMLCredentialMapperV2MBean SAMLIdentityAsserterMBean SAMLIdentityAsserterV2MBean CertRegManagerMBean XACMLAuthorizerMBean XACMLRoleMapperMBean

## Operations

This section describes the following operations:

advance close haveCurrent | wls_getDisplayName

### advance

Advances the list to the next element in the list.

Operation Name | `"advance"`
Parameters | `Object [] { cursor }` where: `cursor` is an object of type `java.lang.String` that specifies: - The cursor returned from a previous list method.
Signature | `String [] { "java.lang.String" }`
Returns | `void`
Exceptions | `weblogic.management.utils.InvalidCursorException`

### close

Indicates that the caller is finished using the list, and that the resources held on behalf of the list may be released. If the caller traverses through all the elements in the list, the caller need not call this method. In other words, it is used to let the caller close the list without reading each element that is returned.

Operation Name | `"close"`
Parameters | `Object [] { cursor }` where: `cursor` is an object of type `java.lang.String` that specifies: - The cursor returned from a previous list method.
Signature | `String [] { "java.lang.String" }`
Returns | `void`
Exceptions | `weblogic.management.utils.InvalidCursorException`

### haveCurrent

Returns true if there are more objects in the list, and false otherwise.

Operation Name | `"haveCurrent"`
Parameters | `Object [] { cursor }` where: `cursor` is an object of type `java.lang.String` that specifies: - The cursor returned from a previous list method.
Signature | `String [] { "java.lang.String" }`
Returns | `boolean`
Exceptions | `weblogic.management.utils.InvalidCursorException`

### wls_getDisplayName

Operation Name | `"wls_getDisplayName"`
Parameters | `null`
Signature | `null`
Returns | `String`