Module java.base
Package java.lang.invoke

Class ConstantGroup.AbstractImpl

    • Field Detail

      • size

        protected final int size
        The size of this constant group, set permanently by the constructor.
    • Constructor Detail

      • AbstractImpl

        protected AbstractImpl​(int size)
        The constructor requires the size of the constant group being represented.
        Parameters:
        size - the size of this constant group, set permanently by the constructor
    • Method Detail

      • size

        public int size​()
        Description copied from interface: Collection
        Returns the number of elements in this collection. If this collection contains more than Integer.MAX_VALUE elements, returns Integer.MAX_VALUE.
        Specified by:
        size in interface Collection<Object>
        Specified by:
        size in interface List<Object>
        Specified by:
        size in class AbstractCollection<Object>
        Returns:
        the number of elements in this collection
      • resolve

        public abstract Object resolve​(int index)
                                throws LinkageError
        
        Description copied from interface: ConstantGroup
        Returns the selected constant, resolving it if necessary.
        Specified by:
        resolve in interface ConstantGroup
        Parameters:
        index - which constant to select
        Returns:
        the selected constant
        Throws:
        LinkageError - if the static argument needs resolution and cannot be resolved
      • subList

        public ConstantGroup subList​(int start,
                                     int end)
        Description copied from class: AbstractList
        Returns a view of the portion of this list between the specified fromIndex, inclusive, and toIndex, exclusive. (If fromIndex and toIndex are equal, the returned list is empty.) The returned list is backed by this list, so non-structural changes in the returned list are reflected in this list, and vice-versa. The returned list supports all of the optional list operations supported by this list.

        This method eliminates the need for explicit range operations (of the sort that commonly exist for arrays). Any operation that expects a list can be used as a range operation by passing a subList view instead of a whole list. For example, the following idiom removes a range of elements from a list:

        
              list.subList(from, to).clear();
         
        
        Similar idioms may be constructed for indexOf and lastIndexOf, and all of the algorithms in the Collections class can be applied to a subList.

        The semantics of the list returned by this method become undefined if the backing list (i.e., this list) is structurally modified in any way other than via the returned list. (Structural modifications are those that change the size of this list, or otherwise perturb it in such a fashion that iterations in progress may yield incorrect results.)

        Specified by:
        subList in interface ConstantGroup
        Specified by:
        subList in interface List<Object>
        Overrides:
        subList in class AbstractList<Object>
        Parameters:
        start - low endpoint (inclusive) of the subList
        end - high endpoint (exclusive) of the subList
        Returns:
        a view of the specified range within this list