From 0134f066d62327d0e47f762a885d3a402df388c1 Mon Sep 17 00:00:00 2001 From: boris Date: Tue, 20 Feb 2024 13:05:19 +0000 Subject: [PATCH] vault backup: 2024-02-20 13:05:19 --- .obsidian/workspace.json | 34 +- .../chapter10/network-v1/MessagePost.class | Bin 0 -> 2368 bytes .../chapter10/network-v1/NewsFeed.class | Bin 0 -> 1354 bytes .../chapter10/network-v1/PhotoPost.class | Bin 0 -> 2586 bytes .../chapter10/network-v1/package.bluej | 8 +- .../chapter10/network-v2/package.bluej | 8 +- .../Programming 2/Project/Part 1/Book.class | Bin 0 -> 370 bytes .../Programming 2/Project/Part 1/Book.ctxt | 8 + .../Programming 2/Project/Part 1/Book.java | 47 ++ .../Project/Part 1/LibraryItem.class | Bin 2741 -> 2477 bytes .../Project/Part 1/LibraryItem.ctxt | 55 ++- .../Project/Part 1/LibraryItem.java | 13 +- .../Project/Part 1/Periodical.class | Bin 0 -> 388 bytes .../Project/Part 1/Periodical.ctxt | 8 + .../Project/Part 1/Periodical.java | 33 ++ .../Project/Part 1/package.bluej | 50 ++- .../Programming 2/Project/Part 2/Book.class | Bin 0 -> 1654 bytes .../Programming 2/Project/Part 2/Book.ctxt | 9 + .../Programming 2/Project/Part 2/Book.java | 38 ++ .../Project/Part 2/Library.class | Bin 0 -> 3122 bytes .../Programming 2/Project/Part 2/Library.ctxt | 13 + .../Programming 2/Project/Part 2/Library.java | 110 +++++ .../Project/Part 2/LibraryItem.class | Bin 0 -> 2919 bytes .../Project/Part 2/LibraryItem.ctxt | 37 ++ .../Project/Part 2/LibraryItem.java | 129 ++++++ .../Project/Part 2/Periodical.class | Bin 0 -> 1640 bytes .../Project/Part 2/Periodical.ctxt | 8 + .../Project/Part 2/Periodical.java | 30 ++ .../Programming 2/Project/Part 2/README.TXT | 12 + .../Project/Part 2/data/item_data_1.txt | 12 + .../Project/Part 2/data/item_data_1_v2.txt | 12 + .../Project/Part 2/data/item_data_2.txt | 18 + .../Part 2/data/item_data_2_generic_test.txt | 23 + .../Project/Part 2/doc/LibraryItem.html | 421 ++++++++++++++++++ .../Project/Part 2/doc/allclasses-frame.html | 32 ++ .../Part 2/doc/allclasses-noframe.html | 32 ++ .../Project/Part 2/doc/constant-values.html | 45 ++ .../Project/Part 2/doc/index.html | 37 ++ .../Project/Part 2/doc/logfile.txt | 41 ++ .../Project/Part 2/doc/package-frame.html | 33 ++ .../Project/Part 2/doc/package-list | 1 + .../Project/Part 2/doc/package-summary.html | 46 ++ .../Project/Part 2/doc/resources/inherit.gif | Bin 0 -> 57 bytes .../Project/Part 2/doc/stylesheet.css | 29 ++ .../Project/Part 2/package.bluej | 73 +++ 45 files changed, 1429 insertions(+), 76 deletions(-) create mode 100644 Semester 1/Programming 1/Java/examples/projects/chapter10/network-v1/MessagePost.class create mode 100644 Semester 1/Programming 1/Java/examples/projects/chapter10/network-v1/NewsFeed.class create mode 100644 Semester 1/Programming 1/Java/examples/projects/chapter10/network-v1/PhotoPost.class create mode 100644 Semester 2/Programming 2/Project/Part 1/Book.class create mode 100644 Semester 2/Programming 2/Project/Part 1/Book.ctxt create mode 100644 Semester 2/Programming 2/Project/Part 1/Book.java create mode 100644 Semester 2/Programming 2/Project/Part 1/Periodical.class create mode 100644 Semester 2/Programming 2/Project/Part 1/Periodical.ctxt create mode 100644 Semester 2/Programming 2/Project/Part 1/Periodical.java create mode 100644 Semester 2/Programming 2/Project/Part 2/Book.class create mode 100644 Semester 2/Programming 2/Project/Part 2/Book.ctxt create mode 100644 Semester 2/Programming 2/Project/Part 2/Book.java create mode 100644 Semester 2/Programming 2/Project/Part 2/Library.class create mode 100644 Semester 2/Programming 2/Project/Part 2/Library.ctxt create mode 100644 Semester 2/Programming 2/Project/Part 2/Library.java create mode 100644 Semester 2/Programming 2/Project/Part 2/LibraryItem.class create mode 100644 Semester 2/Programming 2/Project/Part 2/LibraryItem.ctxt create mode 100644 Semester 2/Programming 2/Project/Part 2/LibraryItem.java create mode 100644 Semester 2/Programming 2/Project/Part 2/Periodical.class create mode 100644 Semester 2/Programming 2/Project/Part 2/Periodical.ctxt create mode 100644 Semester 2/Programming 2/Project/Part 2/Periodical.java create mode 100644 Semester 2/Programming 2/Project/Part 2/README.TXT create mode 100644 Semester 2/Programming 2/Project/Part 2/data/item_data_1.txt create mode 100644 Semester 2/Programming 2/Project/Part 2/data/item_data_1_v2.txt create mode 100644 Semester 2/Programming 2/Project/Part 2/data/item_data_2.txt create mode 100644 Semester 2/Programming 2/Project/Part 2/data/item_data_2_generic_test.txt create mode 100644 Semester 2/Programming 2/Project/Part 2/doc/LibraryItem.html create mode 100644 Semester 2/Programming 2/Project/Part 2/doc/allclasses-frame.html create mode 100644 Semester 2/Programming 2/Project/Part 2/doc/allclasses-noframe.html create mode 100644 Semester 2/Programming 2/Project/Part 2/doc/constant-values.html create mode 100644 Semester 2/Programming 2/Project/Part 2/doc/index.html create mode 100644 Semester 2/Programming 2/Project/Part 2/doc/logfile.txt create mode 100644 Semester 2/Programming 2/Project/Part 2/doc/package-frame.html create mode 100644 Semester 2/Programming 2/Project/Part 2/doc/package-list create mode 100644 Semester 2/Programming 2/Project/Part 2/doc/package-summary.html create mode 100644 Semester 2/Programming 2/Project/Part 2/doc/resources/inherit.gif create mode 100644 Semester 2/Programming 2/Project/Part 2/doc/stylesheet.css create mode 100644 Semester 2/Programming 2/Project/Part 2/package.bluej diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index 9ea3567..6de42d0 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -6,7 +6,7 @@ { "id": "7b5e68cfd661dd0d", "type": "tabs", - "dimension": 59.34959349593496, + "dimension": 61.240310077519375, "children": [ { "id": "505b4bbc8a7e15f6", @@ -25,7 +25,7 @@ { "id": "0df2a38b58c879ff", "type": "tabs", - "dimension": 40.65040650406504, + "dimension": 38.759689922480625, "children": [ { "id": "a9b5c2a99473859a", @@ -184,30 +184,31 @@ "switcher:Open quick switcher": false } }, - "active": "505b4bbc8a7e15f6", + "active": "ff4e63a36b080692", "lastOpenFiles": [ + "Semester 2/Programming 2/Project/Part 2/Library.java#", + "Semester 2/Programming 2/Project/Part 2/Periodical.java#", + "Semester 2/Programming 2/Project/Part 2/data/item_data_2.txt", + "Semester 2/Programming 2/Project/Part 2/data/item_data_1_v2.txt", + "Semester 2/Programming 2/Project/Part 2/data/item_data_1.txt", + "Semester 2/Programming 2/Project/Part 2/data", + "Semester 2/Programming 2/Project/Part 2/LibraryItem.ctxt", + "Semester 2/Programming 2/Project/Part 2/LibraryItem.class", + "Semester 2/Programming 2/Project/Part 2/LibraryItem.java#", + "Semester 2/Programming 2/Project/Part 2/LibraryItem.java", + "Semester 2/Programming 2/Project/Part 2/__SHELL63.class", + "Semester 2/Programming 2/Project/Part 2/Part 1/doc/resources/inherit.gif", + "Semester 2/Programming 2/Project/Part 2/doc/resources/inherit.gif", + "Semester 2/Programming 2/Project/Part 1 (copy)/doc/resources/inherit.gif", "images/Pasted image 20240213172702.png", "images/Pasted image 20240213172509.png", "images/Pasted image 20240213172304.png", - "Semester 2/Database Systems/Exercise Booklet.pdf", - "Semester 2/Database Systems/Booklet of Lecture Slides for Semester Two (2).pdf", "Semester 2/Database Systems/Week 5/Week 5 Database Systems.md", "images/Pasted image 20240213161136.png", "images/Pasted image 20240213133455.png", "images/Pasted image 20240213132603.png", "images/Pasted image 20240213132227.png", - "images/Pasted image 20240213131815.png", - "images/Pasted image 20240213131802.png", - "images/Pasted image 20240213131718.png", "Semester 2/Database Systems/Week 4/Week 4 Database Systems.md", - "Semester 2/Database Systems/Week 5", - "Semester 2/Database Systems/Week 4", - "Semester 2/Programming 2/Project/Part 1/__SHELL78.class", - "Semester 2/Programming 2/Project/Part 1/__SHELL78.java", - "Semester 2/Programming 2/Project/Part 1/__SHELL75.class", - "Semester 2/Programming 2/Project/Part 1/__SHELL75.java", - "Semester 2/Programming 2/Project/Part 1/__SHELL74.class", - "Semester 2/Programming 2/Project/Part 1/__SHELL74.java", "Semester 2/HCI/Week 2/Week 2 Human Computer Interfaces.md", "Semester 2/HCI/Week 3/Week 3 Human Computer Interfaces.md", "Semester 1/Database Systems/Week 10/Week 10 Database Systems.md", @@ -222,7 +223,6 @@ "Semester 1/Database Systems/Week 6/Week 6 Database Systems.md", "Semester 2/Database Systems/Week 3/Week 3 Database Systems.md", "Semester 2/Database Systems/Week 2/Week 2 Database Systems.md", - "images/Pasted image 20240126103004.png", "CCNA/1 - Networking Today/1.2 - Network Components.md", "CCNA/1 - Networking Today/1.1 - Networks Affect our Lives.md", "CCNA/Module Information.md", diff --git a/Semester 1/Programming 1/Java/examples/projects/chapter10/network-v1/MessagePost.class b/Semester 1/Programming 1/Java/examples/projects/chapter10/network-v1/MessagePost.class new file mode 100644 index 0000000000000000000000000000000000000000..271e136db950ced058419726c7a2ebda9274685a GIT binary patch literal 2368 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 literal 0 HcmV?d00001 diff --git a/Semester 1/Programming 1/Java/examples/projects/chapter10/network-v1/package.bluej b/Semester 1/Programming 1/Java/examples/projects/chapter10/network-v1/package.bluej index 4b92da1..f298269 100755 --- a/Semester 1/Programming 1/Java/examples/projects/chapter10/network-v1/package.bluej +++ b/Semester 1/Programming 1/Java/examples/projects/chapter10/network-v1/package.bluej @@ -6,11 +6,11 @@ dependency2.from=NewsFeed dependency2.to=MessagePost dependency2.type=UsesDependency objectbench.height=76 -objectbench.width=798 +objectbench.width=816 package.editor.height=437 package.editor.width=690 -package.editor.x=70 -package.editor.y=80 +package.editor.x=40 +package.editor.y=71 package.numDependencies=2 package.numTargets=3 package.showExtends=true @@ -36,7 +36,7 @@ target1.y=100 target2.editor.height=753 target2.editor.width=940 target2.editor.x=59 -target2.editor.y=22 +target2.editor.y=31 target2.height=60 target2.name=PhotoPost target2.naviview.expanded=true diff --git a/Semester 1/Programming 1/Java/examples/projects/chapter10/network-v2/package.bluej b/Semester 1/Programming 1/Java/examples/projects/chapter10/network-v2/package.bluej index 78ce515..7018723 100755 --- a/Semester 1/Programming 1/Java/examples/projects/chapter10/network-v2/package.bluej +++ b/Semester 1/Programming 1/Java/examples/projects/chapter10/network-v2/package.bluej @@ -3,11 +3,11 @@ dependency1.from=NewsFeed dependency1.to=Post dependency1.type=UsesDependency objectbench.height=76 -objectbench.width=829 +objectbench.width=847 package.editor.height=462 package.editor.width=721 -package.editor.x=70 -package.editor.y=80 +package.editor.x=20 +package.editor.y=51 package.numDependencies=1 package.numTargets=4 package.showExtends=true @@ -33,7 +33,7 @@ target1.y=90 target2.editor.height=767 target2.editor.width=947 target2.editor.x=75 -target2.editor.y=23 +target2.editor.y=31 target2.height=60 target2.name=Post target2.naviview.expanded=true diff --git a/Semester 2/Programming 2/Project/Part 1/Book.class b/Semester 2/Programming 2/Project/Part 1/Book.class new file mode 100644 index 0000000000000000000000000000000000000000..503cd1f00243be62ea81d1dfcca9c518a3874935 GIT binary patch literal 370 zcmXYsK~KU!5QX2gmD*B85%J)`cmoceyg@u@V$!5~(QtMPo3PqaQwov)FAeRKu#!V?P`BQrPEg~09g#{%!Fm})^Q zF>`&p%u`+7t2AS$ofH$5ja6xEy=i*Y%q-}UTo%RCP!KIt{+#I>UCoLq&3bX4BV;WI z?}}wP(bvX$1r|ShR4Wz1$99A*G)UX7pqZGoROLFZbdFPg+2aZV$3n~;=F~6-tVVSW zgo97W!2N*pRx=^vF15hE-JEO(O;!fp)Jjfj SdG{aL$O&Vweix3heEScj4m7y{ literal 0 HcmV?d00001 diff --git a/Semester 2/Programming 2/Project/Part 1/Book.ctxt b/Semester 2/Programming 2/Project/Part 1/Book.ctxt new file mode 100644 index 0000000..c46bee4 --- /dev/null +++ b/Semester 2/Programming 2/Project/Part 1/Book.ctxt @@ -0,0 +1,8 @@ +#BlueJ class context +comment0.params= +comment0.target=Book() +comment0.text=\n\ Constructor\ for\ objects\ of\ class\ Book\n +comment1.params=y +comment1.target=int\ sampleMethod(int) +comment1.text=\n\ An\ example\ of\ a\ method\ -\ replace\ this\ comment\ with\ your\ own\n\ \n\ @param\ \ y\ \ \ a\ sample\ parameter\ for\ a\ method\n\ @return\ \ \ \ \ the\ sum\ of\ x\ and\ y\ \n +numComments=2 diff --git a/Semester 2/Programming 2/Project/Part 1/Book.java b/Semester 2/Programming 2/Project/Part 1/Book.java new file mode 100644 index 0000000..2ea4d4d --- /dev/null +++ b/Semester 2/Programming 2/Project/Part 1/Book.java @@ -0,0 +1,47 @@ + +/** + * Write a description of class Book here. + * + * @author (your name) + * @version (a version number or a date) + */ + +import java.util.Scanner; +import java.util.ArrayList; +import java.util.NoSuchElementException; + +public class Book extends LibraryItem +{ + private String title; + private String itemCode; + private int cost; + private int timesBorrowed; + private boolean onLoan; + private String author; + private int isbn; + + /** + * Constructor for objects of class Book + */ + public Book() + { + this.title = ""; + this.itemCode = ""; + this.cost = 0; + this.timesBorrowed = 0; + this.author = ""; + this.isbn = 0; + } + + public void readItemData( Scanner detailScanner ){ + if ( detailScanner != null ) { + this.title = detailScanner.next().trim(); + this.itemCode = detailScanner.next().trim(); + this.cost = Integer.parseInt( detailScanner.next() ); + this.timesBorrowed = Integer.parseInt( detailScanner.next() ); + this.onLoan = Boolean.parseBoolean( detailScanner.next() ); + this.author = detailScanner.next().trim(); + this.isbn = Integer.parseInt( detailScanner.next() ); + } + } +} diff --git a/Semester 2/Programming 2/Project/Part 1/LibraryItem.class b/Semester 2/Programming 2/Project/Part 1/LibraryItem.class index 672b7851bf80d9f29e6efa742484a2e5710a7612..dda924f44b8369522e56c68a1e2b67fa6ff86d50 100644 GIT binary patch literal 2477 zcmaJ>T~i!I6g{(_!!igVffy6xL=&?t32P8hvltV=C}tCgOVALN%N)Gb6h!Ltbv*?!M>T+qX~m-~ayh2Y@MfIh?|cKD>xo zF>_+(#e5*p7kM1Cx;(0)cpaF{L2*<4UAi(tV+0scVE zeOy|M%4QG?*IWBZM)HSq$YJ^!(v^j?FiR@GAlpL$!@)FM`aex7zba8ilg;(#m2cS% zIcvqYYL9MP&8P*sr>y$CZUF29_s4ogxs`&SMi#GmvGv^88I*8tbtd=m^hcknt_L45hr_PF}rOy>dG@vMUAP= z9oye9Eyon8m^Es}l+_KZWmc7P%xWYPQvei8)(q4$VL+jf#a9N_F{xp4nKvJDaI}20 z>8X}-eA9Kz2F1k;b#rHfgpS%_nwHNry4h4tO-$?2z)JeiL|xGJDRp?z`c`W&eXR4`ycT1LZaNP>%)s-Fo3mb<{UK#|gdx?r`L( zLQwEQEI7VeR~~PmX?ZQhDUTa>8a}=**sSX|lzbFM0NbC&LRWE)-`y#GiD@K6r}Ppc z)nKGrgOP#_MrxMh05p*`?Rn0M95s&V!ZT<;1z{IxGr{5oyiVT;18@;}&NPgnKzk7U z3lcx}fG@>@$78|CUhtJz@FiT1$((xHlX*H8JP`{{_kv5Y;3D3L$(-p0UylV}!DIx! z#@k7-+Du`54~b5@bHVB@-eNgm7!9MMmdka>-O5e98PApMK zEB!AdIR~EnjO_2w?>|FdfwFBQH{4G{KPkQu`sp?XhF_rH#$X#m+|7KCiyi3ju`n(r zal`v@Kj3^<%<9dXlq!{S!BuSA%zwO;Zt( literal 2741 zcmaJ?U2_yg6g{(_lg)&Lgar8>6-n5H1OX9AKusdJ8VItHj|k%Irbz}iGt2C(5x)w4 zf>plw3w-fGEfXxQ@=>e&OIBH)+cR!9n+Y$s?{xP)_uSj3d;b3Sw?6=!L9>AUnCZek z%!+wO%q20G#k^~x)P?u(ejalLbYVu!6%$uY%!_-?#0N57FQAMC6CawmVd7>1w{W|F zMSN7i9o#M8W8BN*lRO*)+0YGZ%0U0z1Lsp`qULzZ6Xh^)z2!**rW>l&8GniEnX2Ci z4HzW@J)yg*8qjUXeAj;s8e`!b4yzmennX_BPChx(+FGB zaO(dwnGxL=tIm@MXI1F9HL189I@O0)oO;{{Gf>XbtP}DahhiGd(5+3BtB&WXU{VtG zEa~WY%D_O>k}dlT6v}=xsH#h@G`+8_uj3*M3ooN+;Q$U=I3(sUj##k8yoi?!AdiZL zDkz4%oidtky0s-0SWvjn?Dm=)uGo%ei?r-2wPnlfiqo(wN_loAmX$35%LekcR@=CR z6^!NKT6lmn22L$d0ucsBC$#H&mOD@q&S~ zJH>nc^Dy#wXrU%VRxNlk`WEVVlm`oJfET2@t#|C?W;f<54^)*K+NR2n8*BoF>o>VD z7#)o3Ph68j=Ot8*$U5iLNt>-bk)*V30+0L6z=KrUbC%7}k1jg-BcY@XC7XvyO7~v%wXPtSSo94@$`k)v^kB0(B>7D1Nfsq-uEo+QO!Nzoz72v26=h!RgN6bBV#@ zkc?7kd*;j!9homA2A@m}&UOY*CkDTYQwf=KoxztAgHQ9v9nrqX4#|P$w0t&&QqZ&4 zd7Nd9Fcj@-i6R$^!oX|ESm{ozo5Z@c1D4224(=>o-^S|zh0=+2hgf%az!G5!*12S? zY$ujOtjZ2pB5lEX1LtYwm^b@HUTw0C`gNaJ%R6AnZ+iTvyacJ=qt-$366c5^lN9fmhU`}?DP8QC|`+V?$z{W%k`X(0C)aai$UmV@Q z;0A`|+PB=ac7MfQc>!cryV=-%A#Q8LCwi|Q^ELP!z4(H!z?VFRuW%Ayli!oJR!_C0 VIfXaz7TE|xHh7Zm+jLWy{tsp^^ojrg diff --git a/Semester 2/Programming 2/Project/Part 1/LibraryItem.ctxt b/Semester 2/Programming 2/Project/Part 1/LibraryItem.ctxt index a57effa..ceb138d 100644 --- a/Semester 2/Programming 2/Project/Part 1/LibraryItem.ctxt +++ b/Semester 2/Programming 2/Project/Part 1/LibraryItem.ctxt @@ -1,35 +1,32 @@ #BlueJ class context -comment0.params=title\ itemCode\ cost\ timesBorrowed\ onLoan -comment0.target=LibraryItem(java.lang.String,\ java.lang.String,\ int,\ int,\ boolean) -comment0.text=\n\ Constructor\ for\ objects\ of\ class\ LibraryItem\n +comment0.params= +comment0.target=LibraryItem() +comment0.text=\n\ Default\ constructor\ for\ object\ of\ class\ LibraryItem\n comment1.params= -comment1.target=LibraryItem() -comment1.text=\n\ Default\ constructor\ for\ object\ of\ class\ LibraryItem\n -comment10.params=timesBorrowed -comment10.target=void\ setTimesBorrowed(int) -comment11.params=onLoan -comment11.target=void\ setOnLoan(boolean) -comment12.params= -comment12.target=void\ printDetails() -comment12.text=\n\ Field\ Mutator\ End\n -comment13.params=detailScanner -comment13.target=void\ readData(java.util.Scanner) +comment1.target=java.lang.String\ getTitle() +comment1.text=\n\ Field\ Accessor\ Start\n +comment10.params=onLoan +comment10.target=void\ setOnLoan(boolean) +comment11.params= +comment11.target=void\ printDetails() +comment11.text=\n\ Field\ Mutator\ End\n +comment12.params=detailScanner +comment12.target=void\ readData(java.util.Scanner) comment2.params= -comment2.target=java.lang.String\ getTitle() -comment2.text=\n\ Field\ Accessor\ Start\n +comment2.target=java.lang.String\ getItemCode() comment3.params= -comment3.target=java.lang.String\ getItemCode() +comment3.target=int\ getCost() comment4.params= -comment4.target=int\ getCost() +comment4.target=int\ getTimesBorrowed() comment5.params= -comment5.target=int\ getTimesBorrowed() -comment6.params= -comment6.target=boolean\ getOnLoan() -comment7.params=title -comment7.target=void\ setTitle(java.lang.String) -comment7.text=\n\ Field\ Accessor\ End\n\ \n\ Field\ Mutator\ Start\n -comment8.params=itemCode -comment8.target=void\ setItemCode(java.lang.String) -comment9.params=cost -comment9.target=void\ setCost(int) -numComments=14 +comment5.target=boolean\ getOnLoan() +comment6.params=title +comment6.target=void\ setTitle(java.lang.String) +comment6.text=\n\ Field\ Accessor\ End\n\ \n\ Field\ Mutator\ Start\n +comment7.params=itemCode +comment7.target=void\ setItemCode(java.lang.String) +comment8.params=cost +comment8.target=void\ setCost(int) +comment9.params=timesBorrowed +comment9.target=void\ setTimesBorrowed(int) +numComments=13 diff --git a/Semester 2/Programming 2/Project/Part 1/LibraryItem.java b/Semester 2/Programming 2/Project/Part 1/LibraryItem.java index bdcba6f..a219780 100644 --- a/Semester 2/Programming 2/Project/Part 1/LibraryItem.java +++ b/Semester 2/Programming 2/Project/Part 1/LibraryItem.java @@ -22,26 +22,19 @@ public class LibraryItem /** * Constructor for objects of class LibraryItem */ - public LibraryItem( String title, String itemCode, int cost, int timesBorrowed, boolean onLoan) + /*public LibraryItem( String title, String itemCode, int cost, int timesBorrowed, boolean onLoan) { this.title = title; this.itemCode = itemCode; this.cost = cost; this.timesBorrowed = timesBorrowed; this.onLoan = onLoan; - } + }*/ /* * Default constructor for object of class LibraryItem */ - public LibraryItem() - { - title = ""; - itemCode = ""; - cost = 0; - timesBorrowed = 0; - onLoan = false; - } + public LibraryItem(){} /* * Field Accessor Start diff --git a/Semester 2/Programming 2/Project/Part 1/Periodical.class b/Semester 2/Programming 2/Project/Part 1/Periodical.class new file mode 100644 index 0000000000000000000000000000000000000000..c08ccdeeb59339ba5786bd05d7d4f8f08bee5e90 GIT binary patch literal 388 zcmYL_K}*9x5QX0)v9W11T5COc5N~Y{p1ieq5rjY#LFw5|v(S~Kku(+ipS%c);K3i@ zj}l*EpoiU=H}kz2c7J}qz5$%$$b*A}Hf;1<9J=TWI|oRgu_P(tO{jjF{hJv zn`%;Pz#Dx+M)n7+x0>;I@6rqGSARjahYpobA8E!NMj;b4lg6B6vF486VI4obGPMYT XODoGsZSVghjh!&|>b`JI#drSz$Gkiq literal 0 HcmV?d00001 diff --git a/Semester 2/Programming 2/Project/Part 1/Periodical.ctxt b/Semester 2/Programming 2/Project/Part 1/Periodical.ctxt new file mode 100644 index 0000000..e285c26 --- /dev/null +++ b/Semester 2/Programming 2/Project/Part 1/Periodical.ctxt @@ -0,0 +1,8 @@ +#BlueJ class context +comment0.params= +comment0.target=Periodical() +comment0.text=\n\ Constructor\ for\ objects\ of\ class\ Periodical\n +comment1.params=y +comment1.target=int\ sampleMethod(int) +comment1.text=\n\ An\ example\ of\ a\ method\ -\ replace\ this\ comment\ with\ your\ own\n\ \n\ @param\ \ y\ \ \ a\ sample\ parameter\ for\ a\ method\n\ @return\ \ \ \ \ the\ sum\ of\ x\ and\ y\ \n +numComments=2 diff --git a/Semester 2/Programming 2/Project/Part 1/Periodical.java b/Semester 2/Programming 2/Project/Part 1/Periodical.java new file mode 100644 index 0000000..643b38f --- /dev/null +++ b/Semester 2/Programming 2/Project/Part 1/Periodical.java @@ -0,0 +1,33 @@ + +/** + * Write a description of class Periodical here. + * + * @author (your name) + * @version (a version number or a date) + */ +public class Periodical extends LibraryItem +{ + // instance variables - replace the example below with your own + private int x; + + /** + * Constructor for objects of class Periodical + */ + public Periodical() + { + // initialise instance variables + x = 0; + } + + /** + * An example of a method - replace this comment with your own + * + * @param y a sample parameter for a method + * @return the sum of x and y + */ + public int sampleMethod(int y) + { + // put your code here + return x + y; + } +} diff --git a/Semester 2/Programming 2/Project/Part 1/package.bluej b/Semester 2/Programming 2/Project/Part 1/package.bluej index 48677a7..6d0320d 100644 --- a/Semester 2/Programming 2/Project/Part 1/package.bluej +++ b/Semester 2/Programming 2/Project/Part 1/package.bluej @@ -9,12 +9,12 @@ package.editor.width=1774 package.editor.x=0 package.editor.y=31 package.numDependencies=1 -package.numTargets=2 +package.numTargets=4 package.showExtends=true package.showUses=true project.charset=UTF-8 target1.editor.height=1049 -target1.editor.width=1591 +target1.editor.width=960 target1.editor.x=0 target1.editor.y=31 target1.height=50 @@ -24,18 +24,44 @@ target1.showInterface=false target1.type=ClassTarget target1.typeParameters= target1.width=100 -target1.x=70 -target1.y=10 -target2.editor.height=1049 -target2.editor.width=1920 -target2.editor.x=0 -target2.editor.y=31 +target1.x=250 +target1.y=110 +target2.editor.height=700 +target2.editor.width=900 +target2.editor.x=40 +target2.editor.y=51 target2.height=50 -target2.name=Library +target2.name=Periodical target2.naviview.expanded=true target2.showInterface=false target2.type=ClassTarget target2.typeParameters= -target2.width=80 -target2.x=170 -target2.y=60 +target2.width=90 +target2.x=350 +target2.y=210 +target3.editor.height=1049 +target3.editor.width=960 +target3.editor.x=960 +target3.editor.y=31 +target3.height=50 +target3.name=Book +target3.naviview.expanded=true +target3.showInterface=false +target3.type=ClassTarget +target3.typeParameters= +target3.width=80 +target3.x=170 +target3.y=210 +target4.editor.height=1049 +target4.editor.width=1920 +target4.editor.x=0 +target4.editor.y=31 +target4.height=50 +target4.name=Library +target4.naviview.expanded=true +target4.showInterface=false +target4.type=ClassTarget +target4.typeParameters= +target4.width=80 +target4.x=170 +target4.y=60 diff --git a/Semester 2/Programming 2/Project/Part 2/Book.class b/Semester 2/Programming 2/Project/Part 2/Book.class new file mode 100644 index 0000000000000000000000000000000000000000..746a9e03894523503442fc83d6c520693dcb8c2e GIT binary patch literal 1654 zcmZuxYjYY^7=BJjVA(7tr44OknjC9wfu!Ii-kP>5iLEG2qQq#uL=SKZ+bp}xaHF?7EjGY#-phH;dw==&zd!#5u#TRMSFoPO+ju91cWorF zZs9$q@7s{LW?>^u^ty!`EZ?;70m~m+_=x3-g-xbg{NiH^w^+Ds;S-jtHa^8?tf^VJ z!*tuij)h$tpW_P~b?mYCFH_i0;VXfp8kkNH3S?{d)laJIDZgE=o6z;!8v@gAzu^<; zy6d~rLhRI^5tOGOftMNF{K3 z0#3lL2ZOMwZ@C;^nj zO_64kS|@NSvN^sZRCizhOjqNTj@FuPh<52uK++GGqAv|)#L@f`O+fH|(0PTVGEqTv zrg#kTTLjC~nT(VRC=l<&02HxGlEB)t$4??-!0>lW{e{HcV@zjfhDa8NND;|e%>RKj z^LDJCW!{PP8RlP#^>fV6$NZ@wvf0xye}?%5;)lo$ah5Ef`vq6V{GE?+i;R2u8SYnH z8pAA2#BjC=aJD(j(0Ptl>O6W_#6v9M5iX2nKOAL$m2gQ+J;p;xm7oovlgrqR3Ju8B zf3RF!9pb_e%a4$G&Zdj2$5?sMr^Gb1X^vX7NX=QH#&E@RWQ}Z%d@}bs-XKrxo!YlT K?3=_+;jO2L;&m4Q literal 0 HcmV?d00001 diff --git a/Semester 2/Programming 2/Project/Part 2/Book.ctxt b/Semester 2/Programming 2/Project/Part 2/Book.ctxt new file mode 100644 index 0000000..e755cf2 --- /dev/null +++ b/Semester 2/Programming 2/Project/Part 2/Book.ctxt @@ -0,0 +1,9 @@ +#BlueJ class context +comment0.params= +comment0.target=Book() +comment0.text=\n\ Constructor\ for\ objects\ of\ class\ Book\n +comment1.params= +comment1.target=void\ printDetails() +comment2.params=detailScanner +comment2.target=void\ readItemData(java.util.Scanner) +numComments=3 diff --git a/Semester 2/Programming 2/Project/Part 2/Book.java b/Semester 2/Programming 2/Project/Part 2/Book.java new file mode 100644 index 0000000..4d6cb5c --- /dev/null +++ b/Semester 2/Programming 2/Project/Part 2/Book.java @@ -0,0 +1,38 @@ + +/** + * Subclass of LibraryItem that emulates a Book item in a Library + * + * @George Wilkinson + * @1.0 + */ + +import java.util.Scanner; +import java.util.ArrayList; +import java.util.NoSuchElementException; + +public class Book extends LibraryItem +{ + private String author; + private String isbn; + + /** + * Constructor for objects of class Book + */ + public Book(){} + + public void printDetails() { + System.out.println("\n==================\n( " + getItemCode() + " )" + " ISBN: " + isbn + " Book " + getTitle() + ", written by " + author + ", published by " + getPublisher() + " has " + getNoOfPages() + " pages .\nIt has been borrowed " + getTimesBorrowed() + " times."); + if( getOnLoan() ) + System.out.println( "The Book is currently on loan, and costs " + getCost() + " pence. "); + else + System.out.println( "The Book is currently not on loan, and costs " + getCost() + " pence. "); + } + + public void readItemData( Scanner detailScanner ){ + if ( detailScanner != null ) { + this.author = detailScanner.next().trim(); + this.isbn = detailScanner.next().trim(); + super.readItemData( detailScanner ); + } + } +} \ No newline at end of file diff --git a/Semester 2/Programming 2/Project/Part 2/Library.class b/Semester 2/Programming 2/Project/Part 2/Library.class new file mode 100644 index 0000000000000000000000000000000000000000..5d05bd88de7380afdd9ff5a16edb2c9b24bafe75 GIT binary patch literal 3122 zcmZuzU2q#$75=U)d*$`Uv1P}_O-nX*+BlA5(=?D)4xzD~P!risaY>q_l&)7d(#Gpu zb+u~jmQu<;0m@G);Fc81p9w#KgjS|?3FT*|Gksu&8D@Cmp$|Op$Rn8!;k&DqEYm#b z{+xTyIo~V(sADshQg}?wkE`M1DLkR$6L?Y$pH#zB zDSS%JpH{rrc@96IjEp&+o9lz3F2 zb=JvyR#*XW;IgrgdbAc5sP14rrL8`PIa6BhGD9|*p>$pI2+|N;YbJp?Xba`P; z2KQTYE+y%#Z(HthD{$047AC`jQ=;3NRRy6G`hisD1v&<52a&tTz6wHM(}n}?i-F^X zhg?@(q{U6Mp=HlcS;feahGhXGkXB9|PgtSF8#x(Tjyr2xo+kr=u7+@9A<-n~e1Bd* zFUr92a}Fb59$m(!45^@^Ji3;bADImaAy1vQGmb0kc2nU}Q66!vyntXD;>kzd?v6Kc-~R9Xq^j3jwlI_G-YqhU#u%fhm=h?mh0z7qxwEaibkw_o(v%1 zS-%|E@(6D+^0;Qh3ao*H_yEJb0RaqTFlyktxM1J~e2-Z(@O`{!;0O32!)mC!fgi0K z*$9U@n<+|9x%shypI}9xbKO@xEk-0`8mbU)ina}T94k9+P6h^kii-w*hMybwga4ZjkAfnO_xmvK=bF*2gzc>`DQ8v`$?i!b9vrv0>m3RVsL78fX4rOl0oGXW>=bM(TY9e#y89!LC!r|dz-5e)H{LqYuX)6Aij%U_#YK|9JeOBI# z42Hg$mn4*9o0gX|OY=^#s1Cz|q)FHH&vBPAHN0lvceupr#@7v8#RY;LGVpu6&Mc0R zc?PohgMq_1!jc|q;9#|U8(C!Fk1DY4ajTp!gk}T3GNyq)sSMqxAM(t}kr}g2J+oky zOy9Q4L7=iwbfs02rd^Qsys3C+Iwey*9QA0Uh-{xX?XZ>~1`ub0++8o?%-mUC;saSP zJzq><@ofvVN5VSAHz-zL5xa?%%aQN{4G*kpb9C3KYAcJ4^$hH)-iex7&53$8jBHvi z5(GOFb&_7R>8{<6$QIk=8;KgoMAQ@5KW>j5*Flap0Eu7vr0Pd{NruOrk`wi~Z?hGel1@cGF3A|ES<6O z_@#|1d~I=NRF7sZRbJwy?R#vB9uu&&5fmvN%*sc~(z9ih|0H`I+n?r?4lfi##;BJ< zD+o&`oUrhJRjXlP1=>PC>z|XsI4QQV=u4%joi_R9^^X$~A5%@82BfvXxa*v65EDaG zIM?HshzKp0*o|^YPDs~T;9Di#b~c7mgVVs7^={u2-;AhK6RV6h$$*A*CVonmN>*NC zJ3qR2^REQEj_R764{(>j`;p|DEtcawl#HQ?E1+X=6=HA=iIb~ndKt;f(d|PV+j#@% zrQXf_v~Q(`>S~b=#xcR2Pz|7NFF`MWKKK%nyDMluv2IEIc>((PpP)ao(o?+|TcHj< zhcpdhCS78oShA#CIS zkUk989d6~Ba-*R1$F4ubbsG|IBc8%_rB;!CxoymL`y{3c5LM;Z#A-DsEcEyQb5V< z@Mdpw1@Eq4+cH{K@EYZ21>2XAQS!cYKQApqPxoh%D|n$Q+Y!rlDB1ZdxGjBq1v}FN zYWsL^Qt9kk#*l*6+q{awG^;R_X<5S_LLAO$y;^Te1tWvKS_SV}!M#+W$s4QOL6yDl zP}xG2fk>r|?iH$?E7$v0aNG11?2A*8elIh?VBg0ny}z0b-n-1yc8P7GkN^FuwK~u0 z0DD=FJ4v;D=)!&y_AXL1Ls}icQQQNYby^_R9;4(b*6wK%I_UvLV4!)g2-58^F6gn#2>xQ2&?fF(4{2_3fRh7`A;Ahy9JlCz>8^J0P?#)zay zCR{}itxvP?Z(tK<=uxAcn(P{7$0FHL{1x}%!)PYfe`1yzO~m~c?x!qCtJ{g~IAtVH z%(R3UC)Nj;g?6!@XiqV2#lB&*U8icZhSM4z)bLRa4{1b>x3PostzGSV_g+Kie~=i{ N@bGr(ThvNm?tgA;1ug&p literal 0 HcmV?d00001 diff --git a/Semester 2/Programming 2/Project/Part 2/Library.ctxt b/Semester 2/Programming 2/Project/Part 2/Library.ctxt new file mode 100644 index 0000000..38a822f --- /dev/null +++ b/Semester 2/Programming 2/Project/Part 2/Library.ctxt @@ -0,0 +1,13 @@ +#BlueJ class context +comment0.params= +comment0.target=Library() +comment0.text=\n\ Constructor\ for\ objects\ of\ class\ Library\n +comment1.params=item +comment1.target=void\ storeItem(LibraryItem) +comment1.text=\n\ Appends\ a\ LibraryItem\ to\ the\ itemList.\n +comment2.params= +comment2.target=void\ printAllItems() +comment2.text=\n\ Prints\ to\ the\ terminal\ all\ items\ in\ the\ itemList\n +comment3.params= +comment3.target=void\ readItemData() +numComments=4 diff --git a/Semester 2/Programming 2/Project/Part 2/Library.java b/Semester 2/Programming 2/Project/Part 2/Library.java new file mode 100644 index 0000000..399a49d --- /dev/null +++ b/Semester 2/Programming 2/Project/Part 2/Library.java @@ -0,0 +1,110 @@ + +/** + * Write a description of class Library here. + * + * @author (your name) + * @version (a version number or a date) + */ + +// Import all required libraries. Not using .* as it is not good practice due to potential conflicts. +import java.util.ArrayList; +import java.util.Scanner; +import java.io.File; +import java.io.IOException; +import java.awt.FileDialog; +import java.awt.Frame; + +public class Library +{ + private ArrayList itemList; // Initialise an ArrayList of name itemList to store LibraryItems + + /* + * Constructor for objects of class Library + */ + public Library() + { + itemList = new ArrayList(); + } + + /* + * Appends a LibraryItem to the itemList. + */ + public void storeItem( LibraryItem item ) + { + itemList.add( item ); + } + + /* + * Prints to the terminal all items in the itemList + */ + public void printAllItems() + { + for( LibraryItem item : itemList ) + { + item.printDetails(); + } + } + + public void readItemData() //throws IOException + { + Frame frame = null; // Initialise a null frame + FileDialog fileBox = new FileDialog( frame, "Open", FileDialog.LOAD ); // Initialise filebox with the null frame pointer + fileBox.setVisible( true ); // Open a file selection dialog to the user. + + try { + Scanner fileScanner = new Scanner( new File( fileBox.getDirectory() + fileBox.getFile() ) ); + String typeFlag = ""; + + while( fileScanner.hasNextLine() ){ + + String lineItem = fileScanner.nextLine(); + //System.out.println( lineItem ); + + // Ensure no comments or empty lines are included + if ( lineItem.contains( "//" ) || lineItem.trim().isEmpty() ){} + + // Check current line is a candidate flag + else if ( lineItem.startsWith("[" ) ) { + if ( lineItem.toLowerCase().contains("book") ) { + typeFlag = "book"; + //System.out.println( "CHANGED FLAG TO READ BOOKS" ); + } + else if ( lineItem.toLowerCase().contains("periodical") ) { + typeFlag = "periodical"; + //System.out.println( "CHANGED FLAG TO READ PERIODICALS" ); + } + else { + System.out.println( "Flag detected, but no accepted format...\n Cannot store item in Library. Changing Flag to generic and skipping the following: "); + typeFlag = "generic"; + } + } + + // Could be a switch case to be more efficient + // Check current flag for data processing. + else { + if ( typeFlag.equals( "book" ) ) { + // Process Book Data + Scanner detailScanner = new Scanner ( lineItem ).useDelimiter(","); // Create a new scanner to grab the values in a comma separated list + LibraryItem book = new Book(); + book.readItemData( detailScanner ); + storeItem( book ); // Store the new LibraryItem in the itemList + } + else if ( typeFlag.equals( "periodical" ) ) { + // Process Periodic Data + Scanner detailScanner = new Scanner ( lineItem ).useDelimiter(","); + LibraryItem periodical = new Periodical(); + periodical.readItemData( detailScanner ); + storeItem( periodical ); + } + else if ( typeFlag.equals( "generic" ) ) { + // Output unaccepted lines + System.out.println( lineItem ); + } + } + } + } + catch( IOException e ) { // Catch any IO Exceptions that may occur from improper file selection. + System.err.println( "Caught IOException: " + e.getMessage() + "\nAn I/O Exception has occurred, please check file is readable and correct format." ); + } + } +} diff --git a/Semester 2/Programming 2/Project/Part 2/LibraryItem.class b/Semester 2/Programming 2/Project/Part 2/LibraryItem.class new file mode 100644 index 0000000000000000000000000000000000000000..30057d634da1d3816851b58b5e9e5e6b76160622 GIT binary patch literal 2919 zcmaJ@U3U{z6y1}rnTDyf1&UhG0TD`zt$&uHa%rceGjTE@6wn1f z!(ZTw59+eTrAr@mE&md0x!h+aZPH=F%efzO&c6GcyU$Jj{qOg`0K9`oc?@8>3$Nk} zF_**?#9S6LBW702To3ThVdkc=MX6oxj2L_*KAgS)5 zOB)BSA`Y3sY5Cj}BJ3u?t!)yS!6orBxz)~s%QhBfl@}IVRDtbOq)zjJUAlYOt~SeO z`pPZ~g^PAzYv^whtp`qJbiQP}uJXs_knVDb(A?6nFG^^apN9OrSNBV5%8~2pX}ggT zQILt_IAP)t4x4yQ%Ahht(5cQqW03vZ(CRLaUXQNcP%SPdsw zwQSdNn1NNI8ZFsfwQE*UDc34Cg-F~As6yQe^*Lg~!-$TmiEnUD!r?9#S7|C1gQc)tD`=sSFZgT(Ui37u{vplXC$sdS4lBHb-tc?7a@g~(x*tm?d}#QEBeRNv z!Y63j4b+Of8%EXkYl=&zo0JXPxGikL^D0W7A~OuzStf=qWsdMc9pLk;BPELEEG421 zN9r~lDcx|Sdc%4cLrKgLczkr;d?F*q9!K9v}JmcMt;=bVcN zpH2*ZH}PaW9z2#9JeF86BVMra#NhXEu1Wg>b&_J8azn$LNVP6HAMQ>ei_b!Y{>ZC& z*&+l{nP}wwWUO=?>k_dF9k4{Hg7pE$X+=UUUIUxR#Ifdxb)^HAs9mtmCu3#fSXYU) z*a1sAMzB64p9EgHIMx!eu6Mwat`n?}l6mQItXsso-2qEFSFk=#uDub*Dicd}z>@A4 ztWS1&{~x5e2A=$au0N2!_7r=D*vMNj`?_g3Ps{wJXrA4|-o75rx6r$VK7P%8j}xuX zzI~BjM*Q~g`2B!mZ9WGQeI$)EP(T5Ed`2l%6#92IIslUZ6zQaxCAQ?o>wY<|@%lH&iZF3q`6n-uwVcBd-LK14?o6lW>@tO#jC{D~IcLxN3x7ZT{Z9bb@X*FNTuI|~TutGc zjU=vEc!TMiHqPQL3vZ{1zGLA!^Q#taFuiHv7SnfG^F0giGqYx4o%szLAK*4iKD6)= z)3Sw+Eqr35f;%=gvBgoVDSVp3X9AgSzwWsWW!%8uP(}-6D-YCns^lrZRjQfL^;@d~ zQ#V}SHMazk`K29!iS?jKs+o%G>&OBZ?T&K)mBHtK@(JWX}hh* zGjMyd(GNrI8*g6*zVrg+uSn%LWh3Yrj((qATC%JChAv8htN-W056n?sQfN77b26@j z2iSG6j1`*5s1*X!6}KL$aG&QbFgrGY{az$W27N=#jc4lyr7G_ZZKqZp-cHq}6q^E< zhg&kfyi14nc{oopoNj5uG2?Y!$RE}vC5x1{UBjE>5R9fv)1rM~b~D(zU**9>w^0^2 zoi87DGYUByd7}}n4JStdOb{O$ZEsZiiv`k9qf_yG>cCM2(iNo1>y}@k0Y+)uB^#2g z(-;NjBA?@jLkH~ZAL!F~r=wG+FGM>yPk$We=ub)@!K+IsNtn)r-iySQhzg>Ug#(CR z2qf?dy;G6!7+xjp#0t2CJaGa`&yD|yoB@xYAn^y1y9b!aP7W|t7$8L?Ycc*6X~uRe zpJwdDc!u$@7-t5U&CbO*%Xpsf01E>wlDFKCxHJ~yc&zsl>z#P6_Y*FT>6|=Lhbv4* z73MHWcn*8W(oxOh5f + + + + + + +LibraryItem + + + + + + + + + + + + +
+ +
+ +

+Class LibraryItem

+
+java.lang.Object
+  extended by LibraryItem
+
+
+
+
public class LibraryItem
extends java.lang.Object
+ + +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
LibraryItem() + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ intgetCost() + +
+           
+ java.lang.StringgetItemCode() + +
+           
+ intgetNoOfPages() + +
+           
+ booleangetOnLoan() + +
+           
+ java.lang.StringgetPublisher() + +
+           
+ intgetTimesBorrowed() + +
+           
+ java.lang.StringgetTitle() + +
+           
+ voidprintDetails() + +
+           
+ voidreadItemData(java.util.Scanner detailScanner) + +
+           
+ voidsetCost(int cost) + +
+           
+ voidsetItemCode(java.lang.String itemCode) + +
+           
+ voidsetNoOfPages(int noOfPages) + +
+           
+ voidsetOnLoan(boolean onLoan) + +
+           
+ voidsetPublisher(java.lang.String publisher) + +
+           
+ voidsetTimesBorrowed(int timesBorrowed) + +
+           
+ voidsetTitle(java.lang.String title) + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+LibraryItem

+
+public LibraryItem()
+
+
+ + + + + + + + +
+Method Detail
+ +

+getCost

+
+public int getCost()
+
+
+
+
+
+
+ +

+getItemCode

+
+public java.lang.String getItemCode()
+
+
+
+
+
+
+ +

+getNoOfPages

+
+public int getNoOfPages()
+
+
+
+
+
+
+ +

+getOnLoan

+
+public boolean getOnLoan()
+
+
+
+
+
+
+ +

+getPublisher

+
+public java.lang.String getPublisher()
+
+
+
+
+
+
+ +

+getTimesBorrowed

+
+public int getTimesBorrowed()
+
+
+
+
+
+
+ +

+getTitle

+
+public java.lang.String getTitle()
+
+
+
+
+
+
+ +

+printDetails

+
+public void printDetails()
+
+
+
+
+
+
+ +

+readItemData

+
+public void readItemData(java.util.Scanner detailScanner)
+
+
+
+
+
+
+ +

+setCost

+
+public void setCost(int cost)
+
+
+
+
+
+
+ +

+setItemCode

+
+public void setItemCode(java.lang.String itemCode)
+
+
+
+
+
+
+ +

+setNoOfPages

+
+public void setNoOfPages(int noOfPages)
+
+
+
+
+
+
+ +

+setOnLoan

+
+public void setOnLoan(boolean onLoan)
+
+
+
+
+
+
+ +

+setPublisher

+
+public void setPublisher(java.lang.String publisher)
+
+
+
+
+
+
+ +

+setTimesBorrowed

+
+public void setTimesBorrowed(int timesBorrowed)
+
+
+
+
+
+
+ +

+setTitle

+
+public void setTitle(java.lang.String title)
+
+
+
+
+
+ +
+ +
+ + + diff --git a/Semester 2/Programming 2/Project/Part 2/doc/allclasses-frame.html b/Semester 2/Programming 2/Project/Part 2/doc/allclasses-frame.html new file mode 100644 index 0000000..41e572a --- /dev/null +++ b/Semester 2/Programming 2/Project/Part 2/doc/allclasses-frame.html @@ -0,0 +1,32 @@ + + + + + + + +All Classes + + + + + + + + + + + +All Classes +
+ + + + + +
LibraryItem +
+
+ + + diff --git a/Semester 2/Programming 2/Project/Part 2/doc/allclasses-noframe.html b/Semester 2/Programming 2/Project/Part 2/doc/allclasses-noframe.html new file mode 100644 index 0000000..74c616b --- /dev/null +++ b/Semester 2/Programming 2/Project/Part 2/doc/allclasses-noframe.html @@ -0,0 +1,32 @@ + + + + + + + +All Classes + + + + + + + + + + + +All Classes +
+ + + + + +
LibraryItem +
+
+ + + diff --git a/Semester 2/Programming 2/Project/Part 2/doc/constant-values.html b/Semester 2/Programming 2/Project/Part 2/doc/constant-values.html new file mode 100644 index 0000000..dc341e1 --- /dev/null +++ b/Semester 2/Programming 2/Project/Part 2/doc/constant-values.html @@ -0,0 +1,45 @@ + + + + + + + +Constant Field Values + + + + + + + + + + + + +
+ +
+
+

+Constant Field Values

+
+
+Contents
    +
+ +
+ +
+ + + diff --git a/Semester 2/Programming 2/Project/Part 2/doc/index.html b/Semester 2/Programming 2/Project/Part 2/doc/index.html new file mode 100644 index 0000000..6d18791 --- /dev/null +++ b/Semester 2/Programming 2/Project/Part 2/doc/index.html @@ -0,0 +1,37 @@ + + + + + + + +Generated Documentation (Untitled) + + + + + + + + +<H2> +Frame Alert</H2> + +<P> +This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. +<BR> +Link to<A HREF="LibraryItem.html">Non-frame version.</A> + + + diff --git a/Semester 2/Programming 2/Project/Part 2/doc/logfile.txt b/Semester 2/Programming 2/Project/Part 2/doc/logfile.txt new file mode 100644 index 0000000..27bedb5 --- /dev/null +++ b/Semester 2/Programming 2/Project/Part 2/doc/logfile.txt @@ -0,0 +1,41 @@ +Class documentation +<---- javadoc command: ----> +/usr/lib/jvm/java-8-openjdk-amd64/bin/javadoc +-author +-version +-nodeprecated +-package +-noindex +-notree +-nohelp +-nonavbar +-source +1.8 +-classpath +/usr/share/bluej/bluejcore.jar:/usr/share/bluej/junit-4.8.2.jar:/usr/share/bluej/userlib/pi4j-gpio-extension.jar:/usr/share/bluej/userlib/pi4j-device.jar:/usr/share/bluej/userlib/pi4j-core.jar:/usr/share/bluej/userlib/pi4j-service.jar:/home/boris/OneDrive/Computer Science Year 1/Semester 2/Programming 2/Project/Part 2 +-d +/home/boris/OneDrive/Computer Science Year 1/Semester 2/Programming 2/Project/Part 2/doc +-encoding +UTF-8 +-charset +UTF-8 +-docletpath +/usr/share/bluej/bjdoclet.jar +-doclet +bluej.doclet.doclets.formats.html.HtmlDoclet +/home/boris/OneDrive/Computer Science Year 1/Semester 2/Programming 2/Project/Part 2/LibraryItem.java +<---- end of javadoc command ----> +Loading source file /home/boris/OneDrive/Computer Science Year 1/Semester 2/Programming 2/Project/Part 2/LibraryItem.java... +Constructing Javadoc information... +Standard Doclet version 1.8.0_392 +Building tree for all the packages and classes... +Generating /home/boris/OneDrive/Computer Science Year 1/Semester 2/Programming 2/Project/Part 2/doc/LibraryItem.html... +Generating /home/boris/OneDrive/Computer Science Year 1/Semester 2/Programming 2/Project/Part 2/doc/package-frame.html... +Generating /home/boris/OneDrive/Computer Science Year 1/Semester 2/Programming 2/Project/Part 2/doc/package-summary.html... +Generating /home/boris/OneDrive/Computer Science Year 1/Semester 2/Programming 2/Project/Part 2/doc/constant-values.html... +Building index for all the packages and classes... +Building index for all classes... +Generating /home/boris/OneDrive/Computer Science Year 1/Semester 2/Programming 2/Project/Part 2/doc/allclasses-frame.html... +Generating /home/boris/OneDrive/Computer Science Year 1/Semester 2/Programming 2/Project/Part 2/doc/allclasses-noframe.html... +Generating /home/boris/OneDrive/Computer Science Year 1/Semester 2/Programming 2/Project/Part 2/doc/index.html... +Generating /home/boris/OneDrive/Computer Science Year 1/Semester 2/Programming 2/Project/Part 2/doc/stylesheet.css... diff --git a/Semester 2/Programming 2/Project/Part 2/doc/package-frame.html b/Semester 2/Programming 2/Project/Part 2/doc/package-frame.html new file mode 100644 index 0000000..3c2f0bc --- /dev/null +++ b/Semester 2/Programming 2/Project/Part 2/doc/package-frame.html @@ -0,0 +1,33 @@ + + + + + + + +<Unnamed> + + + + + + + + + + + +<Unnamed> + + + + +
+Classes  + +
+LibraryItem
+ + + + diff --git a/Semester 2/Programming 2/Project/Part 2/doc/package-list b/Semester 2/Programming 2/Project/Part 2/doc/package-list new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Semester 2/Programming 2/Project/Part 2/doc/package-list @@ -0,0 +1 @@ + diff --git a/Semester 2/Programming 2/Project/Part 2/doc/package-summary.html b/Semester 2/Programming 2/Project/Part 2/doc/package-summary.html new file mode 100644 index 0000000..c16fe6f --- /dev/null +++ b/Semester 2/Programming 2/Project/Part 2/doc/package-summary.html @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + +
+ +
+

+Package <Unnamed> +

+ + + + + + + + + +
+Class Summary
LibraryItem 
+  + +

+

+
+
+ +
+ + + diff --git a/Semester 2/Programming 2/Project/Part 2/doc/resources/inherit.gif b/Semester 2/Programming 2/Project/Part 2/doc/resources/inherit.gif new file mode 100644 index 0000000000000000000000000000000000000000..c814867a13deb0ca7ea2156c6ca1d5a03372af7e GIT binary patch literal 57 zcmZ?wbhEHbIIT!9-C*e{wE9>Kx3D)-;0v)C; KYxQGgum%9JOA&7X literal 0 HcmV?d00001 diff --git a/Semester 2/Programming 2/Project/Part 2/doc/stylesheet.css b/Semester 2/Programming 2/Project/Part 2/doc/stylesheet.css new file mode 100644 index 0000000..6ea9e51 --- /dev/null +++ b/Semester 2/Programming 2/Project/Part 2/doc/stylesheet.css @@ -0,0 +1,29 @@ +/* Javadoc style sheet */ + +/* Define colors, fonts and other style attributes here to override the defaults */ + +/* Page background color */ +body { background-color: #FFFFFF; color:#000000 } + +/* Headings */ +h1 { font-size: 145% } + +/* Table colors */ +.TableHeadingColor { background: #CCCCFF; color:#000000 } /* Dark mauve */ +.TableSubHeadingColor { background: #EEEEFF; color:#000000 } /* Light mauve */ +.TableRowColor { background: #FFFFFF; color:#000000 } /* White */ + +/* Font used in left-hand frame lists */ +.FrameTitleFont { font-size: 100%; font-family: Helvetica, Arial, sans-serif; color:#000000 } +.FrameHeadingFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif; color:#000000 } +.FrameItemFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif; color:#000000 } + +/* Navigation bar fonts and colors */ +.NavBarCell1 { background-color:#EEEEFF; color:#000000} /* Light mauve */ +.NavBarCell1Rev { background-color:#00008B; color:#FFFFFF} /* Dark Blue */ +.NavBarFont1 { font-family: Arial, Helvetica, sans-serif; color:#000000;color:#000000;} +.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;color:#FFFFFF;} + +.NavBarCell2 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF; color:#000000} +.NavBarCell3 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF; color:#000000} + diff --git a/Semester 2/Programming 2/Project/Part 2/package.bluej b/Semester 2/Programming 2/Project/Part 2/package.bluej new file mode 100644 index 0000000..45b1bd0 --- /dev/null +++ b/Semester 2/Programming 2/Project/Part 2/package.bluej @@ -0,0 +1,73 @@ +#BlueJ package file +dependency1.from=Library +dependency1.to=Book +dependency1.type=UsesDependency +dependency2.from=Library +dependency2.to=Periodical +dependency2.type=UsesDependency +dependency3.from=Library +dependency3.to=LibraryItem +dependency3.type=UsesDependency +objectbench.height=76 +objectbench.width=1900 +package.editor.height=874 +package.editor.width=1774 +package.editor.x=0 +package.editor.y=31 +package.numDependencies=3 +package.numTargets=4 +package.showExtends=true +package.showUses=true +project.charset=UTF-8 +target1.editor.height=700 +target1.editor.width=900 +target1.editor.x=40 +target1.editor.y=52 +target1.height=60 +target1.name=LibraryItem +target1.naviview.expanded=true +target1.showInterface=false +target1.type=AbstractTarget +target1.typeParameters= +target1.width=120 +target1.x=160 +target1.y=80 +target2.editor.height=700 +target2.editor.width=1619 +target2.editor.x=60 +target2.editor.y=71 +target2.height=50 +target2.name=Periodical +target2.naviview.expanded=true +target2.showInterface=false +target2.type=ClassTarget +target2.typeParameters= +target2.width=90 +target2.x=30 +target2.y=260 +target3.editor.height=700 +target3.editor.width=1734 +target3.editor.x=60 +target3.editor.y=71 +target3.height=50 +target3.name=Book +target3.naviview.expanded=true +target3.showInterface=false +target3.type=ClassTarget +target3.typeParameters= +target3.width=80 +target3.x=330 +target3.y=260 +target4.editor.height=1049 +target4.editor.width=1920 +target4.editor.x=0 +target4.editor.y=31 +target4.height=50 +target4.name=Library +target4.naviview.expanded=true +target4.showInterface=false +target4.type=ClassTarget +target4.typeParameters= +target4.width=100 +target4.x=170 +target4.y=210