A command line application developed in Java programming language. The main purpose of this project is to act as a qualification test of mastering of Java.
Manage addresses by adding, searching and removing address entries.
-
address entry data structure
-
name of the person
-
mobile number of the person
-
home address of the person
-
-
start interactive command line application
sh> java -jar ab.jarab> _ -
use
addcommand to add new address entryab> addname: xiaomingmobile: 18888888888address: xiaoming jiaaddress entry addedab> _ -
use
searchcommand to get one or more address entriesab> searchby (name|mobile|address): namename: xiaomingone can search by
name,mobileoraddress, regular expression can be used to query. if more than one entires are matched, they should be all displayed. -
use
removecommand to remove one or more address entriesab> deleteby (name|mobile|address): namename: xiao.*two address entries deletedab> _one can remove by
name,mobileoraddress, regular expression can be used to query. if more than one entries are matched, they should be all removed. -
get help
ab> !helpthen help message should be displayed, and when encoutering invalid command, help message should also be displayed.
-
quit from the application
ab> !quitsh> _
-
project must be managed by Maven, latest version of v3
-
unit test is a must
- coverage should be higher than 85%, and Cobertura should be use to measure
-
javadoc for public interface/class/method is a must
-
both Java code and XML should be well-formatted
- NEVER use
tabfor indentation
- NEVER use
-
XML should be used as backend persistent storage
- it is only allowed to use JDK builtin DOM implementation
-
ExecutorServiceshould be used to handle commands -
Maven assembly plugin should be used to assemble the application
mvn clean install, then everything should be ready, and one can find assembled application undertargetfolder
-
DO NOT store any IDE specific files into git repository
-
if there is any fault in this readme, please also fix it or submit an issue
- Fork me and use pull request to submit changes to
developbranch. Anything unclear about the feature, fire issue. - You should submit your source code and pom file