T
- The pin Type returned by next()public class IteratorAssocPins_FBcl<T extends Pin_FBcl>
extends java.lang.Object
implements org.vishia.util.IterableIterator<T>
PinType_FBcl
but returns the associated Pin_FBcl in the FBlock_FBcl
.Modifier and Type | Field and Description |
---|---|
private boolean |
bCreateNonExists |
(package private) boolean |
bExecHasNext
|
(package private) PinType_FBcl[] |
dstArray
Either this array is set from the associated type
FBtype_FBcl , for library modules |
(package private) T[] |
dstPinArray
If
listPinTypeDst is null then the pins are searched and gotten from here, it is the array in the FBlock_FBcl . |
private PinType_FBcl |
dstType
current pin in the type which is the primary found one. null on beginning.
|
(package private) FBlock_FBcl |
fb
Alternatively to
thisW , use fb to get the pin if all is prepared. |
private java.util.Iterator<T> |
iterMulitplePins
This iterator is currently used if multiple pins are searched in the list or map of
thisW . |
(package private) java.lang.Iterable<T> |
iterPinDst
This iterator is the start value for
iterMulitplePins given in ctor. |
(package private) int |
ixMask
Current ix in mask, -1 as startvalue is increment to 0 = bit0, 0b...1
|
(package private) int |
ixMultiPin
This is used as iterator over the
dstArray for multiple pins. -2 means, multipin mode is switched of. |
(package private) java.util.List<? extends PinType_FBcl> |
listPinTypeDst
Or this List is set from the associated type
Write_FBtype_FBwr , for own created types. |
(package private) long |
mask |
(package private) T |
pinNext
If not null,
hasNext() has found a multi pin. |
private int |
recursive |
(package private) Write_FBlock_FBwr |
thisW
If the data are not ready prepared, yet only stored in this write version, use it to get or create a pin.
|
Constructor and Description |
---|
IteratorAssocPins_FBcl(long mask,
Write_FBlock_FBwr fbw,
FBlock_FBcl fb,
java.lang.Iterable<T> iterDstPin,
T[] dstPinArray,
java.util.List<? extends PinType_FBcl> dstListInType,
PinType_FBcl[] dstArrayInType)
Same as
IteratorAssocPins_FBcl(long, Write_FBlock_FBwr, FBlock_FBcl, Iterable, Pin_FBcl[], List, PinType_FBcl[], boolean)
but without create, creates never an non existing instance pin. |
IteratorAssocPins_FBcl(long mask,
Write_FBlock_FBwr fbw,
FBlock_FBcl fb,
java.lang.Iterable<T> iterDstPin,
T[] dstPinArray,
java.util.List<? extends PinType_FBcl> dstListInType,
PinType_FBcl[] dstArrayInType,
boolean bCreateNonExists) |
Modifier and Type | Method and Description |
---|---|
(package private) T |
getPinInFBarray(PinType_FBcl pinType) |
boolean |
hasNext() |
java.util.Iterator<T> |
iterator() |
T |
next()
Returns the pin of
thisW proper to the type pin with the mask. |
final long mask
int ixMask
final Write_FBlock_FBwr thisW
private final boolean bCreateNonExists
final FBlock_FBcl fb
thisW
, use fb to get the pin if all is prepared.final T extends Pin_FBcl[] dstPinArray
listPinTypeDst
is null then the pins are searched and gotten from here, it is the array in the FBlock_FBcl
.final PinType_FBcl[] dstArray
FBtype_FBcl
, for library modulesfinal java.util.List<? extends PinType_FBcl> listPinTypeDst
Write_FBtype_FBwr
, for own created types.final java.lang.Iterable<T extends Pin_FBcl> iterPinDst
iterMulitplePins
given in ctor. Never changed.private java.util.Iterator<T extends Pin_FBcl> iterMulitplePins
thisW
.private PinType_FBcl dstType
int ixMultiPin
dstArray
for multiple pins. -2 means, multipin mode is switched of.boolean bExecHasNext
private int recursive
public IteratorAssocPins_FBcl(long mask, Write_FBlock_FBwr fbw, FBlock_FBcl fb, java.lang.Iterable<T> iterDstPin, T[] dstPinArray, java.util.List<? extends PinType_FBcl> dstListInType, PinType_FBcl[] dstArrayInType, boolean bCreateNonExists)
mask
- from the given pin in its type either PinType_FBcl.maskAssociatedEvData()
or PinType_FBcl.maskAssocInOut()
fbw
- null or the used Write_FBlock_FBwr
where the FBlock pins are defined.fb
- null or the FBlock where the ready to used pins are defined.iterDstPin
- null if fbw == null or the List or Map.values()
where the pins should contain indstPinArray
- null if fb==null or the array where the pins are contained.dstListInType
- the list of the pins in this #fbtw
or null if not given (for library blocks)dstArrayInType
- the array of the pins in this FBlock_FBcl.WriteFB.fb
or null if empty (for new created FBlocksbCreateNonExists
- only used for fbw given, true then create non existing pins if their are given in the type.public IteratorAssocPins_FBcl(long mask, Write_FBlock_FBwr fbw, FBlock_FBcl fb, java.lang.Iterable<T> iterDstPin, T[] dstPinArray, java.util.List<? extends PinType_FBcl> dstListInType, PinType_FBcl[] dstArrayInType)
IteratorAssocPins_FBcl(long, Write_FBlock_FBwr, FBlock_FBcl, Iterable, Pin_FBcl[], List, PinType_FBcl[], boolean)
but without create, creates never an non existing instance pin.mask
- fbw
- fb
- iterDstPin
- dstPinArray
- dstListInType
- dstArrayInType
- public java.util.Iterator<T> iterator()
T getPinInFBarray(PinType_FBcl pinType)
public boolean hasNext()