55import java .util .Arrays ;
66
77/**
8- * Array based storage for Resumes
8+ * Unsorted array based storage for Resumes
99 */
10- public class ArrayStorage {
11- private Resume [] storage = new Resume [10000 ];
12- private int size = 0 ;
13-
14- public void clear () {
15- Arrays .fill (storage , 0 , size , null );
16- size = 0 ;
17- }
18-
10+ public class ArrayStorage extends AbstractArrayStorage {
1911 public void save (Resume resume ) {
20- int resumeIndex = getResumeIndex (resume .getUuid ());
12+ int resumeIndex = getIndex (resume .getUuid ());
2113 if (resumeIndex >= 0 ) {
2214 System .out .println (String .format ("ERROR ru.topjava.webapp.storage.ArrayStorage.save: uuid '%1$s' is already exists" , resume .getUuid ()));
23- } else if (size >= storage . length ) {
15+ } else if (size >= STORAGE_LENGTH ) {
2416 System .out .println ("ERROR ru.topjava.webapp.storage.ArrayStorage.save: storage is full" );
2517 } else {
2618 storage [size ] = resume ;
2719 size ++;
2820 }
2921 }
3022
31- public Resume get (String uuid ) {
32- int resumeIndex = getResumeIndex (uuid );
33- if (resumeIndex < 0 ) {
34- System .out .println (String .format ("ERROR ru.topjava.webapp.storage.ArrayStorage.get: uuid '%1$s' is not exists" , uuid ));
35- return null ;
36- } else {
37- return storage [resumeIndex ];
38- }
39- }
40-
4123 public void delete (String uuid ) {
42- int resumeIndex = getResumeIndex (uuid );
24+ int resumeIndex = getIndex (uuid );
4325 if (resumeIndex < 0 ) {
4426 System .out .println (String .format ("ERROR ru.topjava.webapp.storage.ArrayStorage.delete: uuid '%1$s' is not exists" , uuid ));
4527 } else {
@@ -49,27 +31,7 @@ public void delete(String uuid) {
4931 }
5032 }
5133
52- /**
53- * @return array, contains only Resumes in storage (without null)
54- */
55- public Resume [] getAll () {
56- return Arrays .copyOf (storage , size );
57- }
58-
59- public int size () {
60- return size ;
61- }
62-
63- public void update (Resume resume ) {
64- int resumeIndex = getResumeIndex (resume .getUuid ());
65- if (resumeIndex < 0 ) {
66- System .out .println (String .format ("ERROR ru.topjava.webapp.storage.ArrayStorage.update: uuid '%1$s' is not exists" , resume .getUuid ()));
67- } else {
68- storage [resumeIndex ] = resume ;
69- }
70- }
71-
72- private int getResumeIndex (String uuid ) {
34+ protected int getIndex (String uuid ) {
7335 for (int i = 0 ; i < size ; i ++) {
7436 if (storage [i ].getUuid ().equals (uuid )) {
7537 return i ;
0 commit comments