Java Program to Implement RoleList API

This Java program Implements RoleList API.A RoleList represents a list of roles (Role objects). It is used as parameter when creating a relation, and when trying to set several roles in a relation (via ‘setRoles()’ method). It is returned as part of a RoleResult, to provide roles successfully retrieved.

Here is the source code of the Java Program to Implement RoleList API.The Java program is successfully compiled and run on a Linux system. The program output is also shown below.

import java.util.Collection;
import java.util.LinkedList;
import java.util.List;
import javax.management.MalformedObjectNameException;
import javax.management.ObjectName;
import javax.management.relation.Role;
import javax.management.relation.RoleList;
 
public class RoleListImpl
{
    private RoleList roleList;
 
    /** Constructs an empty RoleList. **/  
    public RoleListImpl()
    {
        roleList = new RoleList();
    }
 
    /** Constructs an empty RoleList with the initial capacity specified. **/
    public RoleListImpl(int initialCapacity)
    {
        roleList = new RoleList(initialCapacity);
    }
 
    /**
     * Constructs a RoleList containing the elements of the List specified, in
     * the order in which they are returned by the List's iterator.
    **/
    public RoleListImpl(List<Role> list)
    {
        roleList = new RoleList(list);
    }
 
    /** Inserts the specified element at the specified position in this list. **/
    public void add(int index, Object element)
    {
        roleList.add(index, element);
    }
 
    /** Inserts the role specified as an element at the position specified. **/
    public void add(int index, Role role)
    {
        roleList.add(index, role);
    }
 
    /** Appends the specified element to the end of this list. **/
    public boolean add(Object o)
    {
        return roleList.add(o);
    }
 
    /** Adds the Role specified as the last element of the list. **/
    public void add(Role role)
    {
        roleList.add(role);
    }
 
    /**
     * Appends all of the elements in the specified collection to the end of
     * this list, in the order that they are returned by the specified
     * collection's Iterator.
    **/
    public boolean addAll(Collection<?> c)
    {
        return roleList.addAll(c);
    }
 
    /**
     * Inserts all of the elements in the specified collection into this list,
     * starting at the specified position.
    **/
    public boolean addAll(int index, Collection<?> c)
    {
        return roleList.addAll(index, c);
    }
 
    /**
     * Inserts all of the elements in the RoleList specified into this list,
     * starting at the specified position, in the order in which they are
     * returned by the Iterator of the RoleList specified.
    **/
    public boolean addAll(int index, RoleList roleList)
    {
        return this.roleList.addAll(index, roleList);
    }
 
    /**
     * Appends all the elements in the RoleList specified to the end of the
     * list, in the order in which they are returned by the Iterator of the
     * RoleList specified.
    **/
    public boolean addAll(RoleList roleList)
    {
        return roleList.addAll(roleList);
    }
 
    /** vReturn a view of this list as a List<Role>. **/
    public List<Role> asList()
    {
        return roleList.asList();
    }
 
    /**
     * Replaces the element at the specified position in this list with the
     * specified element.
    **/
    public Object set(int index, Object element)
    {
        return roleList.set(index, element);
    }
 
    /** Sets the element at the position specified to be the role specified. **/
    public void set(int index, Role role)
    {
        roleList.set(index, role);
    }
 
    public static void main(String... arg) throws MalformedObjectNameException
    {
        RoleListImpl roleList = new RoleListImpl();
        List<ObjectName> rolelist1 = new LinkedList<ObjectName>();
        rolelist1.add(new ObjectName("domain1","key1","value1"));
        rolelist1.add(new ObjectName("domain2","key2","value2"));
        roleList.add(0, new Role("rolename1", rolelist1));
 
        List<ObjectName> roleList2 = new LinkedList<ObjectName>();
        roleList2.add(new ObjectName("domain3","key3","value3"));
        roleList2.add(new ObjectName("domain4","key4","value4"));
        roleList.add(1, new Role("rolename2", roleList2));
 
        List<Role> list = roleList.asList();
        int index = 0;
        while (index < list.size())
        {
            System.out.println(list.get(index++) + "\t");
        }
        System.out.println();
    }
}
$ javac RoleListImpl.java
$ java RoleListImpl
role name: rolename1; role value: domain1:key1=value1, domain2:key2=value2	
role name: rolename2; role value: domain3:key3=value3, domain4:key4=value4

Related posts:

Removing all duplicates from a List in Java
Java Web Services – JAX-WS – SOAP
Java Program to find the maximum subarray sum O(n^2) time(naive method)
Spring Data JPA Delete and Relationships
Java Program to Implement PriorityQueue API
Feign – Tạo ứng dụng Java RESTful Client
Java Program to Implement Solovay Strassen Primality Test Algorithm
The Guide to RestTemplate
New Features in Java 10
Custom Exception trong Java
The Spring @Controller and @RestController Annotations
Returning Custom Status Codes from Spring Controllers
Finding Max/Min of a List or Collection
OAuth2.0 and Dynamic Client Registration
Transactions with Spring and JPA
Model, ModelMap, and ModelAndView in Spring MVC
Java Program to find the number of occurrences of a given number using Binary Search approach
Hướng dẫn Java Design Pattern – Iterator
Beans and Dependency Injection
Servlet 3 Async Support with Spring MVC and Spring Security
Hướng dẫn sử dụng Java String, StringBuffer và StringBuilder
Một số từ khóa trong Java
Java Program to Create the Prufer Code for a Tree
A Guide to Java SynchronousQueue
Hướng dẫn Java Design Pattern – Chain of Responsibility
Spring Data MongoDB – Indexes, Annotations and Converters
Java 14 Record Keyword
Java Program to Represent Graph Using Incidence List
Spring Boot - Tomcat Port Number
Java Program to Implement Stack using Two Queues
Spring @Primary Annotation
Giới thiệu Java Service Provider Interface (SPI) – Tạo các ứng dụng Java dễ mở rộng