package org.jboss.jca.embedded.dsl.ironjacamar13.api; 

import java.util.ArrayList;
import java.util.List;
import org.jboss.shrinkwrap.descriptor.api.Child;
import org.jboss.jca.embedded.dsl.ironjacamar13.api.WorkmanagerSecurityMappingType;
/**
 * This interface defines the contract for the <code> workmanagerSecurityMappingsUsersType </code> xsd type 
 */
public interface WorkmanagerSecurityMappingsUsersType<T> extends Child<T>
{
 
   // --------------------------------------------------------------------------------------------------------||
   // ClassName: WorkmanagerSecurityMappingsUsersType ElementName: ironjacamar:workmanagerSecurityMappingType ElementType : map
   // MaxOccurs: -unbounded  isGeneric: true   isAttribute: false isEnum: false isDataType: false
   // --------------------------------------------------------------------------------------------------------||

   /**
    * If not already created, a new <code>map</code> element will be created and returned.
    * Otherwise, the first existing <code>map</code> element will be returned.
    * @return the instance defined for the element <code>map</code> 
    */
   public WorkmanagerSecurityMappingType<WorkmanagerSecurityMappingsUsersType<T>> getOrCreateMap();

   /**
    * Creates a new <code>map</code> element 
    * @return the new created instance of <code>WorkmanagerSecurityMappingType<WorkmanagerSecurityMappingsUsersType<T>></code> 
    */
   public WorkmanagerSecurityMappingType<WorkmanagerSecurityMappingsUsersType<T>> createMap();

   /**
    * Returns all <code>map</code> elements
    * @return list of <code>map</code> 
    */
   public List<WorkmanagerSecurityMappingType<WorkmanagerSecurityMappingsUsersType<T>>> getAllMap();

   /**
    * Removes all <code>map</code> elements 
    * @return the current instance of <code>WorkmanagerSecurityMappingType<WorkmanagerSecurityMappingsUsersType<T>></code> 
    */
   public WorkmanagerSecurityMappingsUsersType<T> removeAllMap();
}
