а написать свои главные строки не успеваю! и вряд ли успею...

This commit is contained in:
antoc0der 2023-12-21 17:17:48 +03:00
parent bdf2311313
commit b3c2b175c7
6 changed files with 54 additions and 13 deletions

View File

@ -0,0 +1,16 @@
package src.Exceptions;
import java.io.Serializable;
public class AirplaneNotFoundException extends RuntimeException implements Serializable {
public AirplaneNotFoundException(int i) {
super("Не найден объект по позиции " + i);
}
public AirplaneNotFoundException(Throwable ex) {
super(ex);
}
public AirplaneNotFoundException(String message) {
super(message);
}
public AirplaneNotFoundException(String message, Throwable ex) { //Throwable люди пишут, посмотри внимательно
super(message, ex);
}
}

View File

@ -0,0 +1,17 @@
package src.Exceptions;
import java.io.Serializable;
public class AirplaneStorageOverflowException extends RuntimeException implements Serializable{
public AirplaneStorageOverflowException(Throwable ex){
super(ex);
}
public AirplaneStorageOverflowException(int count){
super("В наборе превышено допустимое количество локомотивов: " + count);
}
public AirplaneStorageOverflowException(String message){
super(message);
}
public AirplaneStorageOverflowException(String message, Throwable ex){
super(message, ex);
}
}

View File

@ -17,9 +17,9 @@ import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import org.apache.logging.log4j.*;
class TxtSaveFilter extends FileFilter {
@Override

View File

@ -2,8 +2,9 @@ package src.Generics;
import src.DrawningObjects.DrawningAirplane;
import src.MovementStrategy.IMoveableObject;
import src.DrawningObjects.ExtentionDrawningAirplane;
import src.MovementStrategy.DrawningObjectAirplane;
import com.sun.nio.sctp.InvalidStreamException;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
@ -38,7 +39,7 @@ public class AirplaneGenericCollection<T extends DrawningAirplane, U extends IMo
}
data.append(records);
if(data.length() == 0)
return false;
throw new InvalidStreamException("Нет данных для сохранения");
FileWriter writer = new FileWriter(f);
writer.write(data.toString());
writer.flush();

View File

@ -1,9 +1,11 @@
package src.Generics;
import com.sun.nio.sctp.InvalidStreamException;
import javax.xml.crypto.dsig.keyinfo.KeyValue;
import java.io.*;
import java.util.*;
import java.util.stream.Collectors;
import java.io.IOException;
import src.MovementStrategy.DrawningObjectAirplane;
import src.DrawningObjects.DrawningAirplane;
@ -30,7 +32,7 @@ public class AirplaneGenericStorage {
data.append(String.format("%s%c%s\n", record.getKey(), _separatorForKeyValue, records.toString()));
}
if(data.length() == 0)
return false;
throw new InvalidStreamException("Нет данных для сохранения");
FileWriter writer = new FileWriter(f);
writer.write(data.toString());
writer.flush();
@ -39,7 +41,7 @@ public class AirplaneGenericStorage {
}
public boolean LoadData(File f) throws FileNotFoundException {
if(!f.exists())
return false;
throw new FileNotFoundException("Файл не найден");
StringBuilder bufferTextFromFile =new StringBuilder();
Scanner s = new Scanner(f);
while(s.hasNext())
@ -47,9 +49,9 @@ public class AirplaneGenericStorage {
s.close();
var strs = bufferTextFromFile.toString().split("\n");
if(strs == null || strs.length == 0)
return false;
throw new NullPointerException("Нет данных для загрузки");
if (!strs[0].startsWith("AirplaneStorage"))
return false;
throw new IllegalArgumentException("Неверный формат данных");
_airplaneStorages.clear();
for(String data : strs){
String st = new String("\\" + Character.toString( _separatorForKeyValue));
@ -78,7 +80,7 @@ public class AirplaneGenericStorage {
public boolean LoadCollection(File f) throws FileNotFoundException {
if(!f.exists())
return false;
throw new FileNotFoundException("Файл не найден");
StringBuilder bufferTextFromFile =new StringBuilder();
Scanner s = new Scanner(f);
while(s.hasNext())
@ -86,9 +88,9 @@ public class AirplaneGenericStorage {
s.close();
var strs = bufferTextFromFile.toString().split("\n");
if(strs == null || strs.length == 0)
return false;
throw new NullPointerException("Нет данных для загрузки");
if (!strs[0].startsWith("AirplaneCollection"))
return false;
throw new IllegalArgumentException("Неверный формат данных");
String collectionName = strs[1];
AirplaneGenericCollection<DrawningAirplane, DrawningObjectAirplane> collection = GetCollection(collectionName);
if(collection == null)

View File

@ -1,4 +1,7 @@
package src.Generics;
import src.Exceptions.AirplaneNotFoundException;
import src.Exceptions.AirplaneStorageOverflowException;
import java.util.ArrayList;
import java.util.List;
@ -18,6 +21,8 @@ public class SetGeneric <T extends Object>{
}
public boolean Insert(T airplane, int position){
if(_places.size() == _maxCount)
throw new AirplaneStorageOverflowException(_maxCount);
if (!(position >= 0 && position <= _places.size() && _places.size() < _maxCount))
return false;
_places.add(position, airplane);
@ -27,7 +32,7 @@ public class SetGeneric <T extends Object>{
public boolean Remove(int position){
if(!(position >= 0 && position < _places.size()))
return false;
throw new AirplaneNotFoundException(position);
_places.remove(position);
return true;
}