PIbd-23_Dolgov_D.A._Airbus..../EntityWithIlumCreator.java
2022-12-06 12:26:38 +04:00

44 lines
1.3 KiB
Java

import java.util.Random;
public class EntityWithIlumCreator <T extends EntityAirbus, U extends IDrawingIlum>
{
private final Object[] entityArr;
private final Object[] IlumArr;
int entitiesCount = 0;
int ilumCount = 0;
public EntityWithIlumCreator(int countEntities, int countExtra) {
entityArr = new Object[countEntities];
IlumArr = new Object[countExtra];
}
public void Insert(T entityAirbus) {
if(entitiesCount < entityArr.length) {
entityArr[entitiesCount] = entityAirbus;
entitiesCount++;
}
}
public void Insert (U extra) {
if(ilumCount < IlumArr.length) {
IlumArr[ilumCount] = extra;
ilumCount++;
}
}
public DrawingAirbus getEntityWithExtra() {
Random random = new Random();
int getEntityRandomIndex = random.nextInt(entityArr.length);
int getExtraRandomIndex = random.nextInt(IlumArr.length);
EntityAirbus airbus = (T)entityArr[getEntityRandomIndex];
IDrawingIlum ilum = (U) IlumArr[getExtraRandomIndex];
if (airbus instanceof EntityAdvancedAirbus) {
return new DrawingAdvancedAirbus(airbus, ilum);
}
return new DrawingAirbus(airbus, ilum);
}
}