
    q&iR                     b   S SK r SSKJr  SSKJr  SSKJr  S SKJrJrJ	r	  \R                  r
\R                  " S5       " S S	\5      5       r\R                  " S
5       " S S\5      5       rS r\R                  " S5       " S S\5      5       r\R                  " S5       " S S\5      5       r\R                  " S5       " S S\5      5       r\R                  " S5       " S S\5      5       r\R                  " S5       " S S\5      5       r\R                  " S5       " S S\5      5       rg)     N   )_jclass)types)_jcustomizer)MappingSequenceMutableSequencezjava.lang.Iterablec                       \ rS rSrSrS rSrg)
_JIterable   zCustomizer for ``java.util.Iterable``

This customizer adds the Python iterator syntax to classes that
implement Java Iterable.
c                 "    U R                  5       $ N)iteratorselfs    R/var/www/html/banglarbhumi/venv/lib/python3.13/site-packages/jpype/_jcollection.py__iter___JIterable.__iter__#       }}     N)__name__
__module____qualname____firstlineno____doc__r   __static_attributes__r   r   r   r   r      s    r   r   zjava.util.Collectionc                   *    \ rS rSrSrS rS rS rSrg)_JCollection'   zCustomizer for ``java.util.Collection``

This customizer adds the Python functions ``len()`` and ``del`` to
Java Collisions to allow for Python syntax.
c                 "    U R                  5       $ r   sizer   s    r   __len___JCollection.__len__/       yy{r   c                 D    [        S[        U 5      R                  -  5      e)Nz8'%s' does not support item deletion, use remove() method)	TypeErrortyper   r   is     r   __delitem___JCollection.__delitem__2   s#    FdI\I\\^ 	^r   c                 F     U R                  U5      $ ! [         a     gf = fNF)containsr(   r*   s     r   __contains___JCollection.__contains__6   s(    	==## 		    
  r   N)	r   r   r   r   r   r$   r,   r1   r   r   r   r   r   r   '   s    ^r   r   c                     U R                   nU R                  nU R                  (       a+  U R                  S:  d  U R                  S:  a  [        S5      eUc  SnUc  UnUS:  a  X!-  nUS:  a  X1-  n[	        X#5      $ )Nr   r   zStride not supported)startstopstepr(   slice)slcr#   r5   r6   s       r   _sliceAdjustr:   =   sv    IIE88D
xxSXX\SXX\.//}|qyaxr   zjava.util.Listc                       \ rS rSrSrS rS rS rS rS r	S r
S	 rS
 rS rS rS rSS jrS rS rS r\" SSS9S 5       rSrg)_JListM   zCustomizer for ``java.util.List``

This customizer adds the Python list operator to function on classes
that implement the Java List interface.
c                 \    [         R                  " U 5        [        R                  " U 5        g r   )r   registerr	   r   s    r   __jclass_init___JList.__jclass_init__U   s    $  &r   c                     [        U[        5      (       a?  [        XR                  5       5      nU R	                  UR
                  UR                  5      $ US:  a  XR                  5       -  nU R                  U5      $ Nr   )
isinstancer8   r:   r#   subListr5   r6   getr   ndxs     r   __getitem___JList.__getitem__Y   s[    c5!!sIIK0C<<		38844Qwyy{"88C= r   c                 8   [        U[        5      (       a\  [        XR                  5       5      nXR                  UR
                   R                  5         U R                  UR                  U5        g US:  a  XR                  5       -  nU R                  X5        g rC   )	rD   r8   r:   r#   r5   r6   clearaddAllsetr   rH   vs      r   __setitem___JList.__setitem__b   sk    c5!!sIIK0C388$**,KK		1%Qwyy{"HHSr   c                 ^   [        U[        5      (       a@  [        XR                  5       5      nXR                  UR
                   R                  5         g [        US5      (       a=  US:  a  XR                  5       -  nU R                  [        R                  " U5      5      $ [        S5      e)N	__index__r   zIncorrect arguments to del)rD   r8   r:   r#   r5   r6   rL   hasattrremove__jtypesJIntr(   rG   s     r   r,   _JList.__delitem__l   s~    c5!!sIIK0C388$**,S+&&Qwyy{"<<S 122899r   c              #      #    U R                  U R                  5       5      nUR                  5       (       a*  UR                  5       v   UR                  5       (       a  M)  g g 7fr   )listIteratorr#   hasPreviousprevious)r   r   s     r   __reversed___JList.__reversed__w   sJ     $$TYY[1""$$##%% ""$$s   AA" A"c                 p     U R                  U5      $ ! [         a    [        S[        U5      -  5      ef = f)Nz%s is not in list)indexOfr(   
ValueErrorreprr   objs     r   index_JList.index|   s:    	><<$$ 	>049<==	>s    "5c                      [         R                  " U5      nSnU  H   nUR                  U5      (       d  M  US-  nM"     U$ ! [         a     gf = f)Nr   r   )_jpypeJObjectequalsr(   )r   re   jocr+   s        r   count_JList.count   sS    	$BA88B<<FA  H 		s   1A 
A 
AAc                 T    US:  a  XR                  5       -  nU R                  X5      $ rC   )r#   add)r   idxre   s      r   insert_JList.insert   s&    799;Cxx!!r   c                 $    U R                  U5      $ r   rq   rd   s     r   append_JList.append   s    xx}r   c                 N    [         R                  " S5      R                  U 5        g )Nzjava.util.Collections)ri   JClassreverser   s    r   r{   _JList.reverse   s    -.66t<r   c                 &    U R                  U5        g r   )rM   )r   lsts     r   extend_JList.extend   s    Cr   c                 |    US:  a  XR                  5       -  nU R                  [        R                  " U5      5      $ rC   )r#   rV   rW   rX   )r   rr   s     r   pop
_JList.pop   s/    799;C||GLL-..r   c                 (    U R                  U5        U $ r   rv   rd   s     r   __iadd___JList.__iadd__   s    r   c                 `    [         R                  " S5      " U 5      nUR                  U5        U$ Nzjava.util.ArrayList)ri   rz   r   )r   re   news      r   __add___JList.__add__   s&    mm1248

3
r   c                     [         R                  " S5      " 5       n[        U5       H  nUR                  U 5        M     U$ r   )ri   rz   ranger   )r   re   r   r+   s       r   __mul___JList.__mul__   s3    mm124sAJJt 
r   TrV   )stickyrenamec                      U R                  [        R                  " U[        R                  5      5      nUSL a  g  [	        S5      e! [         a     Nf = f)NTzitem not in list)rV   ri   rj   r(   rb   )r   re   rcs      r   remove_JList.remove   sU    	fnnS&..ABBTz  +,,  		s   9A 
AAr   N))r   r   r   r   r   r@   rI   rQ   r,   r^   rf   rn   rs   rw   r{   r   r   r   r   r   	JOverrider   r   r   r   r   r<   r<   M   sm    '!	:&
>	"
=/

 d9-- .-r   r<   zjava.util.Mapc                   N    \ rS rSrSrS rS rS rS rS r	S r
S	 rS
 rS rSrg)_JMap   zCustomizer for ``java.util.Map``

This customizer adds the Python list and len operators to classes
that implement the Java Map interface.
c                 0    [         R                  " U 5        g r   )r   r?   r   s    r   r@   _JMap.__jclass_init__   s    r   c                 "    U R                  5       $ r   r"   r   s    r   r$   _JMap.__len__   r&   r   c                 >    U R                  5       R                  5       $ r   )keySetr   r   s    r   r   _JMap.__iter__   s    {{}%%''r   c                 $    U R                  U5      $ r   r   r*   s     r   r,   _JMap.__delitem__       {{1~r   c                      U R                  U5      nUc  U R                  U5      (       a  U$  [        SU-  5      e! [         a     Nf = f)Nz%s)rF   containsKeyr(   KeyError)r   rH   items      r   rI   _JMap.__getitem__   sY    	88C=D4#3#3C#8#8 $9 tcz""  		s   += 
A
	A
c                 &    U R                  X5        g r   )putrO   s      r   rQ   _JMap.__setitem__   s    r   c                 "    U R                  5       $ r   )entrySetr   s    r   items_JMap.items   r   r   c                 4    [        U R                  5       5      $ r   )listr   r   s    r   keys
_JMap.keys   s    DKKM""r   c                 F     U R                  U5      $ ! [         a     gf = fr/   )r   r(   )r   r   s     r   r1   _JMap.__contains__   s*    	##D)) 		r3   r   N)r   r   r   r   r   r@   r$   r   r,   rI   rQ   r   r   r1   r   r   r   r   r   r      s4    (##r   r   zjava.util.Setc                       \ rS rSrS rSrg)_JSet   c                 $    U R                  U5      $ r   r   r*   s     r   r,   _JSet.__delitem__   r   r   r   N)r   r   r   r   r,   r   r   r   r   r   r      s    r   r   zjava.util.Map.Entryc                        \ rS rSrS rS rSrg)
_JMapEntry   c                     g)N   r   r   s    r   r$   _JMapEntry.__len__   s    r   c                 p    US:X  a  U R                  5       $ US:X  a  U R                  5       $ [        S5      e)Nr   r   zPairs are always length 2)getKeygetValue
IndexError)r   xs     r   rI   _JMapEntry.__getitem__   s4    6;;= 6==?"455r   r   N)r   r   r   r   r$   rI   r   r   r   r   r   r      s    6r   r   zjava.util.Iteratorc                   $    \ rS rSrSrS rS rSrg)
_JIterator   zCustomizer for ``java.util.Iterator``

This customizer adds the Python iterator concept to classes
that implement the Java Iterator interface.
c                 X    U R                  5       (       a  U R                  5       $ [        er   )hasNextnextStopIterationr   s    r   __next___JIterator.__next__  s    <<>>99;r   c                     U $ r   r   r   s    r   r   _JIterator.__iter__      r   r   N)r   r   r   r   r   r   r   r   r   r   r   r   r      s    
r   r   zjava.util.Enumerationc                   (    \ rS rSrSrS rS r\rSrg)_JEnumerationi  zCustomizer for ``java.util.Enumerator``

This customizer adds the Python iterator concept to classes
that implement the Java Enumerator interface.
c                 X    U R                  5       (       a  U R                  5       $ [        er   )hasMoreElementsnextElementr   r   s    r   r   _JEnumeration.__next__  s&    !!##%%r   c                     U $ r   r   r   s    r   r   _JEnumeration.__iter__  r   r   r   N)	r   r   r   r   r   r   r   r   r   r   r   r   r   r     s    
 Dr   r   )ri    r   r   rW   r   collections.abcr   r   r	   r   JImplementationForobjectr   r   r:   r<   r   r   r   r   r   r   r   r   <module>r      sd  $     > >	   !56  7   !786  9*    !12i-V i- 3i-X   1)F ) 2)X   1F  2
   !67	6 	6 8	6   !56  7    !89F  :r   