From 661a2faa69ad08f87a4ca17afa611bc0ce254c2c Mon Sep 17 00:00:00 2001 From: Deepak Date: Tue, 10 Mar 2020 22:37:09 +0000 Subject: [PATCH 1/4] Created a working gradle project --- .../effectivejava/chapter10/item74/IndexOutOfBoundsException.java | 0 .../chapter11/item78/brokenstopthread/StopThread.java | 0 .../chapter11/item78/fixedstopthread1/StopThread.java | 0 .../chapter11/item78/fixedstopthread2/StopThread.java | 0 .../java}/effectivejava/chapter11/item79/ForwardingSet.java | 0 .../java}/effectivejava/chapter11/item79/ObservableSet.java | 0 .../java}/effectivejava/chapter11/item79/SetObserver.java | 0 src/{ => main/java}/effectivejava/chapter11/item79/Test1.java | 0 src/{ => main/java}/effectivejava/chapter11/item79/Test2.java | 0 src/{ => main/java}/effectivejava/chapter11/item79/Test3.java | 0 .../java}/effectivejava/chapter11/item81/ConcurrentTimer.java | 0 src/{ => main/java}/effectivejava/chapter11/item81/Intern.java | 0 src/{ => main/java}/effectivejava/chapter11/item83/FieldType.java | 0 .../java}/effectivejava/chapter11/item83/Initialization.java | 0 .../java}/effectivejava/chapter11/item84/SlowCountDownLatch.java | 0 src/{ => main/java}/effectivejava/chapter12/Util.java | 0 .../java}/effectivejava/chapter12/item85/DeserializationBomb.java | 0 .../java}/effectivejava/chapter12/item87/StringList.java | 0 .../java}/effectivejava/chapter12/item89/enumsingleton/Elvis.java | 0 src/{ => main/java}/effectivejava/chapter12/item90/Period.java | 0 .../effectivejava/chapter2/item2/builder/NutritionFacts.java | 0 .../effectivejava/chapter2/item2/hierarchicalbuilder/Calzone.java | 0 .../effectivejava/chapter2/item2/hierarchicalbuilder/NyPizza.java | 0 .../effectivejava/chapter2/item2/hierarchicalbuilder/Pizza.java | 0 .../chapter2/item2/hierarchicalbuilder/PizzaTest.java | 0 .../effectivejava/chapter2/item2/javabeans/NutritionFacts.java | 0 .../chapter2/item2/telescopingconstructor/NutritionFacts.java | 0 .../java}/effectivejava/chapter2/item3/enumtype/Elvis.java | 0 src/{ => main/java}/effectivejava/chapter2/item3/field/Elvis.java | 0 .../java}/effectivejava/chapter2/item3/staticfactory/Elvis.java | 0 .../java}/effectivejava/chapter2/item4/UtilityClass.java | 0 .../java}/effectivejava/chapter2/item6/RomanNumerals.java | 0 src/{ => main/java}/effectivejava/chapter2/item6/Sum.java | 0 .../java}/effectivejava/chapter2/item7/EmptyStackException.java | 0 src/{ => main/java}/effectivejava/chapter2/item7/Stack.java | 0 src/{ => main/java}/effectivejava/chapter2/item8/Adult.java | 0 src/{ => main/java}/effectivejava/chapter2/item8/Room.java | 0 src/{ => main/java}/effectivejava/chapter2/item8/Teenager.java | 0 .../java}/effectivejava/chapter2/item9/tryfinally/Copy.java | 0 .../java}/effectivejava/chapter2/item9/tryfinally/TopLine.java | 0 .../java}/effectivejava/chapter2/item9/trywithresources/Copy.java | 0 .../effectivejava/chapter2/item9/trywithresources/TopLine.java | 0 .../chapter2/item9/trywithresources/TopLineWithDefault.java | 0 .../effectivejava/chapter3/item10/CaseInsensitiveString.java | 0 src/{ => main/java}/effectivejava/chapter3/item10/Color.java | 0 .../java}/effectivejava/chapter3/item10/PhoneNumber.java | 0 src/{ => main/java}/effectivejava/chapter3/item10/Point.java | 0 .../effectivejava/chapter3/item10/composition/ColorPoint.java | 0 .../effectivejava/chapter3/item10/inheritance/ColorPoint.java | 0 .../effectivejava/chapter3/item10/inheritance/CounterPoint.java | 0 .../chapter3/item10/inheritance/CounterPointTest.java | 0 .../java}/effectivejava/chapter3/item11/PhoneNumber.java | 0 .../java}/effectivejava/chapter3/item12/PhoneNumber.java | 0 .../java}/effectivejava/chapter3/item13/EmptyStackException.java | 0 .../java}/effectivejava/chapter3/item13/PhoneNumber.java | 0 src/{ => main/java}/effectivejava/chapter3/item13/Stack.java | 0 .../effectivejava/chapter3/item14/CaseInsensitiveString.java | 0 .../java}/effectivejava/chapter3/item14/PhoneNumber.java | 0 src/{ => main/java}/effectivejava/chapter3/item14/WordList.java | 0 src/{ => main/java}/effectivejava/chapter4/item16/Point.java | 0 src/{ => main/java}/effectivejava/chapter4/item16/Time.java | 0 src/{ => main/java}/effectivejava/chapter4/item17/Complex.java | 0 .../java}/effectivejava/chapter4/item18/ForwardingSet.java | 0 .../java}/effectivejava/chapter4/item18/InstrumentedHashSet.java | 0 .../java}/effectivejava/chapter4/item18/InstrumentedSet.java | 0 src/{ => main/java}/effectivejava/chapter4/item19/Sub.java | 0 src/{ => main/java}/effectivejava/chapter4/item19/Super.java | 0 .../java}/effectivejava/chapter4/item20/AbstractMapEntry.java | 0 src/{ => main/java}/effectivejava/chapter4/item20/IntArrays.java | 0 .../chapter4/item22/constantinterface/PhysicalConstants.java | 0 .../chapter4/item22/constantutilityclass/PhysicalConstants.java | 0 .../java}/effectivejava/chapter4/item23/hierarchy/Circle.java | 0 .../java}/effectivejava/chapter4/item23/hierarchy/Figure.java | 0 .../java}/effectivejava/chapter4/item23/hierarchy/Rectangle.java | 0 .../java}/effectivejava/chapter4/item23/hierarchy/Square.java | 0 .../java}/effectivejava/chapter4/item23/taggedclass/Figure.java | 0 src/{ => main/java}/effectivejava/chapter4/item25/Dessert.java | 0 src/{ => main/java}/effectivejava/chapter4/item25/Main.java | 0 src/{ => main/java}/effectivejava/chapter4/item25/Test.java | 0 src/{ => main/java}/effectivejava/chapter4/item25/Utensil.java | 0 src/{ => main/java}/effectivejava/chapter5/item26/Raw.java | 0 src/{ => main/java}/effectivejava/chapter5/item28/Chooser.java | 0 .../java}/effectivejava/chapter5/item29/EmptyStackException.java | 0 .../java}/effectivejava/chapter5/item29/technqiue1/Stack.java | 0 .../java}/effectivejava/chapter5/item29/technqiue2/Stack.java | 0 .../effectivejava/chapter5/item30/GenericSingletonFactory.java | 0 .../java}/effectivejava/chapter5/item30/RecursiveTypeBound.java | 0 src/{ => main/java}/effectivejava/chapter5/item30/Union.java | 0 src/{ => main/java}/effectivejava/chapter5/item31/Chooser.java | 0 .../java}/effectivejava/chapter5/item31/EmptyStackException.java | 0 .../java}/effectivejava/chapter5/item31/RecursiveTypeBound.java | 0 src/{ => main/java}/effectivejava/chapter5/item31/Stack.java | 0 src/{ => main/java}/effectivejava/chapter5/item31/Swap.java | 0 src/{ => main/java}/effectivejava/chapter5/item31/Union.java | 0 src/{ => main/java}/effectivejava/chapter5/item32/Dangerous.java | 0 .../java}/effectivejava/chapter5/item32/FlattenWithList.java | 0 .../java}/effectivejava/chapter5/item32/FlattenWithVarargs.java | 0 src/{ => main/java}/effectivejava/chapter5/item32/PickTwo.java | 0 .../java}/effectivejava/chapter5/item32/SafePickTwo.java | 0 src/{ => main/java}/effectivejava/chapter5/item33/Favorites.java | 0 .../java}/effectivejava/chapter5/item33/PrintAnnotation.java | 0 src/{ => main/java}/effectivejava/chapter6/item34/Inverse.java | 0 src/{ => main/java}/effectivejava/chapter6/item34/Operation.java | 0 src/{ => main/java}/effectivejava/chapter6/item34/PayrollDay.java | 0 src/{ => main/java}/effectivejava/chapter6/item34/Planet.java | 0 .../java}/effectivejava/chapter6/item34/WeightTable.java | 0 src/{ => main/java}/effectivejava/chapter6/item35/Ensemble.java | 0 src/{ => main/java}/effectivejava/chapter6/item36/Text.java | 0 src/{ => main/java}/effectivejava/chapter6/item37/Phase.java | 0 src/{ => main/java}/effectivejava/chapter6/item37/Plant.java | 0 .../java}/effectivejava/chapter6/item38/BasicOperation.java | 0 .../java}/effectivejava/chapter6/item38/ExtendedOperation.java | 0 src/{ => main/java}/effectivejava/chapter6/item38/Operation.java | 0 .../item39/annotationwitharrayparameter/ExceptionTest.java | 0 .../chapter6/item39/annotationwitharrayparameter/RunTests.java | 0 .../chapter6/item39/annotationwitharrayparameter/Sample3.java | 0 .../chapter6/item39/annotationwithparameter/ExceptionTest.java | 0 .../chapter6/item39/annotationwithparameter/RunTests.java | 0 .../chapter6/item39/annotationwithparameter/Sample2.java | 0 .../effectivejava/chapter6/item39/markerannotation/RunTests.java | 0 .../effectivejava/chapter6/item39/markerannotation/Sample.java | 0 .../effectivejava/chapter6/item39/markerannotation/Test.java | 0 .../chapter6/item39/repeatableannotation/ExceptionTest.java | 0 .../item39/repeatableannotation/ExceptionTestContainer.java | 0 .../chapter6/item39/repeatableannotation/RunTests.java | 0 .../chapter6/item39/repeatableannotation/Sample4.java | 0 src/{ => main/java}/effectivejava/chapter6/item40/Bigram.java | 0 src/{ => main/java}/effectivejava/chapter6/item40/Bigram2.java | 0 src/{ => main/java}/effectivejava/chapter7/item42/Operation.java | 0 .../java}/effectivejava/chapter7/item42/SortFourWays.java | 0 src/{ => main/java}/effectivejava/chapter7/item43/Freq.java | 0 src/{ => main/java}/effectivejava/chapter7/item45/Card.java | 0 src/{ => main/java}/effectivejava/chapter7/item45/CharStream.java | 0 .../java}/effectivejava/chapter7/item45/MersennePrimes.java | 0 .../effectivejava/chapter7/item45/anagrams/HybridAnagrams.java | 0 .../effectivejava/chapter7/item45/anagrams/IterativeAnagrams.java | 0 .../effectivejava/chapter7/item45/anagrams/StreamAnagrams.java | 0 src/{ => main/java}/effectivejava/chapter7/item46/Freq.java | 0 src/{ => main/java}/effectivejava/chapter7/item47/Adapters.java | 0 src/{ => main/java}/effectivejava/chapter7/item47/PowerSet.java | 0 src/{ => main/java}/effectivejava/chapter7/item47/SubLists.java | 0 .../effectivejava/chapter7/item48/ParallelMersennePrimes.java | 0 .../effectivejava/chapter7/item48/ParallelPrimeCounting.java | 0 src/{ => main/java}/effectivejava/chapter8/item50/Attacks.java | 0 src/{ => main/java}/effectivejava/chapter8/item50/Period.java | 0 src/{ => main/java}/effectivejava/chapter8/item52/Champagne.java | 0 .../java}/effectivejava/chapter8/item52/CollectionClassifier.java | 0 .../effectivejava/chapter8/item52/FixedCollectionClassifier.java | 0 src/{ => main/java}/effectivejava/chapter8/item52/Overriding.java | 0 src/{ => main/java}/effectivejava/chapter8/item52/SetList.java | 0 .../java}/effectivejava/chapter8/item52/SparklingWine.java | 0 src/{ => main/java}/effectivejava/chapter8/item52/Wine.java | 0 src/{ => main/java}/effectivejava/chapter8/item53/Varargs.java | 0 src/{ => main/java}/effectivejava/chapter8/item55/Max.java | 0 src/{ => main/java}/effectivejava/chapter8/item55/ParentPid.java | 0 .../java}/effectivejava/chapter8/item56/DocExamples.java | 0 src/{ => main/java}/effectivejava/chapter9/item58/Card.java | 0 src/{ => main/java}/effectivejava/chapter9/item58/DiceRolls.java | 0 src/{ => main/java}/effectivejava/chapter9/item59/Curl.java | 0 src/{ => main/java}/effectivejava/chapter9/item59/RandomBug.java | 0 .../java}/effectivejava/chapter9/item60/BigDecimalChange.java | 0 src/{ => main/java}/effectivejava/chapter9/item60/Change.java | 0 src/{ => main/java}/effectivejava/chapter9/item60/IntChange.java | 0 .../java}/effectivejava/chapter9/item61/BrokenComparator.java | 0 .../java}/effectivejava/chapter9/item61/Unbelievable.java | 0 .../effectivejava/chapter9/item65/ReflectiveInstantiation.java | 0 166 files changed, 0 insertions(+), 0 deletions(-) rename src/{ => main/java}/effectivejava/chapter10/item74/IndexOutOfBoundsException.java (100%) rename src/{ => main/java}/effectivejava/chapter11/item78/brokenstopthread/StopThread.java (100%) rename src/{ => main/java}/effectivejava/chapter11/item78/fixedstopthread1/StopThread.java (100%) rename src/{ => main/java}/effectivejava/chapter11/item78/fixedstopthread2/StopThread.java (100%) rename src/{ => main/java}/effectivejava/chapter11/item79/ForwardingSet.java (100%) rename src/{ => main/java}/effectivejava/chapter11/item79/ObservableSet.java (100%) rename src/{ => main/java}/effectivejava/chapter11/item79/SetObserver.java (100%) rename src/{ => main/java}/effectivejava/chapter11/item79/Test1.java (100%) rename src/{ => main/java}/effectivejava/chapter11/item79/Test2.java (100%) rename src/{ => main/java}/effectivejava/chapter11/item79/Test3.java (100%) rename src/{ => main/java}/effectivejava/chapter11/item81/ConcurrentTimer.java (100%) rename src/{ => main/java}/effectivejava/chapter11/item81/Intern.java (100%) rename src/{ => main/java}/effectivejava/chapter11/item83/FieldType.java (100%) rename src/{ => main/java}/effectivejava/chapter11/item83/Initialization.java (100%) rename src/{ => main/java}/effectivejava/chapter11/item84/SlowCountDownLatch.java (100%) rename src/{ => main/java}/effectivejava/chapter12/Util.java (100%) rename src/{ => main/java}/effectivejava/chapter12/item85/DeserializationBomb.java (100%) rename src/{ => main/java}/effectivejava/chapter12/item87/StringList.java (100%) rename src/{ => main/java}/effectivejava/chapter12/item89/enumsingleton/Elvis.java (100%) rename src/{ => main/java}/effectivejava/chapter12/item90/Period.java (100%) rename src/{ => main/java}/effectivejava/chapter2/item2/builder/NutritionFacts.java (100%) rename src/{ => main/java}/effectivejava/chapter2/item2/hierarchicalbuilder/Calzone.java (100%) rename src/{ => main/java}/effectivejava/chapter2/item2/hierarchicalbuilder/NyPizza.java (100%) rename src/{ => main/java}/effectivejava/chapter2/item2/hierarchicalbuilder/Pizza.java (100%) rename src/{ => main/java}/effectivejava/chapter2/item2/hierarchicalbuilder/PizzaTest.java (100%) rename src/{ => main/java}/effectivejava/chapter2/item2/javabeans/NutritionFacts.java (100%) rename src/{ => main/java}/effectivejava/chapter2/item2/telescopingconstructor/NutritionFacts.java (100%) rename src/{ => main/java}/effectivejava/chapter2/item3/enumtype/Elvis.java (100%) rename src/{ => main/java}/effectivejava/chapter2/item3/field/Elvis.java (100%) rename src/{ => main/java}/effectivejava/chapter2/item3/staticfactory/Elvis.java (100%) rename src/{ => main/java}/effectivejava/chapter2/item4/UtilityClass.java (100%) rename src/{ => main/java}/effectivejava/chapter2/item6/RomanNumerals.java (100%) rename src/{ => main/java}/effectivejava/chapter2/item6/Sum.java (100%) rename src/{ => main/java}/effectivejava/chapter2/item7/EmptyStackException.java (100%) rename src/{ => main/java}/effectivejava/chapter2/item7/Stack.java (100%) rename src/{ => main/java}/effectivejava/chapter2/item8/Adult.java (100%) rename src/{ => main/java}/effectivejava/chapter2/item8/Room.java (100%) rename src/{ => main/java}/effectivejava/chapter2/item8/Teenager.java (100%) rename src/{ => main/java}/effectivejava/chapter2/item9/tryfinally/Copy.java (100%) rename src/{ => main/java}/effectivejava/chapter2/item9/tryfinally/TopLine.java (100%) rename src/{ => main/java}/effectivejava/chapter2/item9/trywithresources/Copy.java (100%) rename src/{ => main/java}/effectivejava/chapter2/item9/trywithresources/TopLine.java (100%) rename src/{ => main/java}/effectivejava/chapter2/item9/trywithresources/TopLineWithDefault.java (100%) rename src/{ => main/java}/effectivejava/chapter3/item10/CaseInsensitiveString.java (100%) rename src/{ => main/java}/effectivejava/chapter3/item10/Color.java (100%) rename src/{ => main/java}/effectivejava/chapter3/item10/PhoneNumber.java (100%) rename src/{ => main/java}/effectivejava/chapter3/item10/Point.java (100%) rename src/{ => main/java}/effectivejava/chapter3/item10/composition/ColorPoint.java (100%) rename src/{ => main/java}/effectivejava/chapter3/item10/inheritance/ColorPoint.java (100%) rename src/{ => main/java}/effectivejava/chapter3/item10/inheritance/CounterPoint.java (100%) rename src/{ => main/java}/effectivejava/chapter3/item10/inheritance/CounterPointTest.java (100%) rename src/{ => main/java}/effectivejava/chapter3/item11/PhoneNumber.java (100%) rename src/{ => main/java}/effectivejava/chapter3/item12/PhoneNumber.java (100%) rename src/{ => main/java}/effectivejava/chapter3/item13/EmptyStackException.java (100%) rename src/{ => main/java}/effectivejava/chapter3/item13/PhoneNumber.java (100%) rename src/{ => main/java}/effectivejava/chapter3/item13/Stack.java (100%) rename src/{ => main/java}/effectivejava/chapter3/item14/CaseInsensitiveString.java (100%) rename src/{ => main/java}/effectivejava/chapter3/item14/PhoneNumber.java (100%) rename src/{ => main/java}/effectivejava/chapter3/item14/WordList.java (100%) rename src/{ => main/java}/effectivejava/chapter4/item16/Point.java (100%) rename src/{ => main/java}/effectivejava/chapter4/item16/Time.java (100%) rename src/{ => main/java}/effectivejava/chapter4/item17/Complex.java (100%) rename src/{ => main/java}/effectivejava/chapter4/item18/ForwardingSet.java (100%) rename src/{ => main/java}/effectivejava/chapter4/item18/InstrumentedHashSet.java (100%) rename src/{ => main/java}/effectivejava/chapter4/item18/InstrumentedSet.java (100%) rename src/{ => main/java}/effectivejava/chapter4/item19/Sub.java (100%) rename src/{ => main/java}/effectivejava/chapter4/item19/Super.java (100%) rename src/{ => main/java}/effectivejava/chapter4/item20/AbstractMapEntry.java (100%) rename src/{ => main/java}/effectivejava/chapter4/item20/IntArrays.java (100%) rename src/{ => main/java}/effectivejava/chapter4/item22/constantinterface/PhysicalConstants.java (100%) rename src/{ => main/java}/effectivejava/chapter4/item22/constantutilityclass/PhysicalConstants.java (100%) rename src/{ => main/java}/effectivejava/chapter4/item23/hierarchy/Circle.java (100%) rename src/{ => main/java}/effectivejava/chapter4/item23/hierarchy/Figure.java (100%) rename src/{ => main/java}/effectivejava/chapter4/item23/hierarchy/Rectangle.java (100%) rename src/{ => main/java}/effectivejava/chapter4/item23/hierarchy/Square.java (100%) rename src/{ => main/java}/effectivejava/chapter4/item23/taggedclass/Figure.java (100%) rename src/{ => main/java}/effectivejava/chapter4/item25/Dessert.java (100%) rename src/{ => main/java}/effectivejava/chapter4/item25/Main.java (100%) rename src/{ => main/java}/effectivejava/chapter4/item25/Test.java (100%) rename src/{ => main/java}/effectivejava/chapter4/item25/Utensil.java (100%) rename src/{ => main/java}/effectivejava/chapter5/item26/Raw.java (100%) rename src/{ => main/java}/effectivejava/chapter5/item28/Chooser.java (100%) rename src/{ => main/java}/effectivejava/chapter5/item29/EmptyStackException.java (100%) rename src/{ => main/java}/effectivejava/chapter5/item29/technqiue1/Stack.java (100%) rename src/{ => main/java}/effectivejava/chapter5/item29/technqiue2/Stack.java (100%) rename src/{ => main/java}/effectivejava/chapter5/item30/GenericSingletonFactory.java (100%) rename src/{ => main/java}/effectivejava/chapter5/item30/RecursiveTypeBound.java (100%) rename src/{ => main/java}/effectivejava/chapter5/item30/Union.java (100%) rename src/{ => main/java}/effectivejava/chapter5/item31/Chooser.java (100%) rename src/{ => main/java}/effectivejava/chapter5/item31/EmptyStackException.java (100%) rename src/{ => main/java}/effectivejava/chapter5/item31/RecursiveTypeBound.java (100%) rename src/{ => main/java}/effectivejava/chapter5/item31/Stack.java (100%) rename src/{ => main/java}/effectivejava/chapter5/item31/Swap.java (100%) rename src/{ => main/java}/effectivejava/chapter5/item31/Union.java (100%) rename src/{ => main/java}/effectivejava/chapter5/item32/Dangerous.java (100%) rename src/{ => main/java}/effectivejava/chapter5/item32/FlattenWithList.java (100%) rename src/{ => main/java}/effectivejava/chapter5/item32/FlattenWithVarargs.java (100%) rename src/{ => main/java}/effectivejava/chapter5/item32/PickTwo.java (100%) rename src/{ => main/java}/effectivejava/chapter5/item32/SafePickTwo.java (100%) rename src/{ => main/java}/effectivejava/chapter5/item33/Favorites.java (100%) rename src/{ => main/java}/effectivejava/chapter5/item33/PrintAnnotation.java (100%) rename src/{ => main/java}/effectivejava/chapter6/item34/Inverse.java (100%) rename src/{ => main/java}/effectivejava/chapter6/item34/Operation.java (100%) rename src/{ => main/java}/effectivejava/chapter6/item34/PayrollDay.java (100%) rename src/{ => main/java}/effectivejava/chapter6/item34/Planet.java (100%) rename src/{ => main/java}/effectivejava/chapter6/item34/WeightTable.java (100%) rename src/{ => main/java}/effectivejava/chapter6/item35/Ensemble.java (100%) rename src/{ => main/java}/effectivejava/chapter6/item36/Text.java (100%) rename src/{ => main/java}/effectivejava/chapter6/item37/Phase.java (100%) rename src/{ => main/java}/effectivejava/chapter6/item37/Plant.java (100%) rename src/{ => main/java}/effectivejava/chapter6/item38/BasicOperation.java (100%) rename src/{ => main/java}/effectivejava/chapter6/item38/ExtendedOperation.java (100%) rename src/{ => main/java}/effectivejava/chapter6/item38/Operation.java (100%) rename src/{ => main/java}/effectivejava/chapter6/item39/annotationwitharrayparameter/ExceptionTest.java (100%) rename src/{ => main/java}/effectivejava/chapter6/item39/annotationwitharrayparameter/RunTests.java (100%) rename src/{ => main/java}/effectivejava/chapter6/item39/annotationwitharrayparameter/Sample3.java (100%) rename src/{ => main/java}/effectivejava/chapter6/item39/annotationwithparameter/ExceptionTest.java (100%) rename src/{ => main/java}/effectivejava/chapter6/item39/annotationwithparameter/RunTests.java (100%) rename src/{ => main/java}/effectivejava/chapter6/item39/annotationwithparameter/Sample2.java (100%) rename src/{ => main/java}/effectivejava/chapter6/item39/markerannotation/RunTests.java (100%) rename src/{ => main/java}/effectivejava/chapter6/item39/markerannotation/Sample.java (100%) rename src/{ => main/java}/effectivejava/chapter6/item39/markerannotation/Test.java (100%) rename src/{ => main/java}/effectivejava/chapter6/item39/repeatableannotation/ExceptionTest.java (100%) rename src/{ => main/java}/effectivejava/chapter6/item39/repeatableannotation/ExceptionTestContainer.java (100%) rename src/{ => main/java}/effectivejava/chapter6/item39/repeatableannotation/RunTests.java (100%) rename src/{ => main/java}/effectivejava/chapter6/item39/repeatableannotation/Sample4.java (100%) rename src/{ => main/java}/effectivejava/chapter6/item40/Bigram.java (100%) rename src/{ => main/java}/effectivejava/chapter6/item40/Bigram2.java (100%) rename src/{ => main/java}/effectivejava/chapter7/item42/Operation.java (100%) rename src/{ => main/java}/effectivejava/chapter7/item42/SortFourWays.java (100%) rename src/{ => main/java}/effectivejava/chapter7/item43/Freq.java (100%) rename src/{ => main/java}/effectivejava/chapter7/item45/Card.java (100%) rename src/{ => main/java}/effectivejava/chapter7/item45/CharStream.java (100%) rename src/{ => main/java}/effectivejava/chapter7/item45/MersennePrimes.java (100%) rename src/{ => main/java}/effectivejava/chapter7/item45/anagrams/HybridAnagrams.java (100%) rename src/{ => main/java}/effectivejava/chapter7/item45/anagrams/IterativeAnagrams.java (100%) rename src/{ => main/java}/effectivejava/chapter7/item45/anagrams/StreamAnagrams.java (100%) rename src/{ => main/java}/effectivejava/chapter7/item46/Freq.java (100%) rename src/{ => main/java}/effectivejava/chapter7/item47/Adapters.java (100%) rename src/{ => main/java}/effectivejava/chapter7/item47/PowerSet.java (100%) rename src/{ => main/java}/effectivejava/chapter7/item47/SubLists.java (100%) rename src/{ => main/java}/effectivejava/chapter7/item48/ParallelMersennePrimes.java (100%) rename src/{ => main/java}/effectivejava/chapter7/item48/ParallelPrimeCounting.java (100%) rename src/{ => main/java}/effectivejava/chapter8/item50/Attacks.java (100%) rename src/{ => main/java}/effectivejava/chapter8/item50/Period.java (100%) rename src/{ => main/java}/effectivejava/chapter8/item52/Champagne.java (100%) rename src/{ => main/java}/effectivejava/chapter8/item52/CollectionClassifier.java (100%) rename src/{ => main/java}/effectivejava/chapter8/item52/FixedCollectionClassifier.java (100%) rename src/{ => main/java}/effectivejava/chapter8/item52/Overriding.java (100%) rename src/{ => main/java}/effectivejava/chapter8/item52/SetList.java (100%) rename src/{ => main/java}/effectivejava/chapter8/item52/SparklingWine.java (100%) rename src/{ => main/java}/effectivejava/chapter8/item52/Wine.java (100%) rename src/{ => main/java}/effectivejava/chapter8/item53/Varargs.java (100%) rename src/{ => main/java}/effectivejava/chapter8/item55/Max.java (100%) rename src/{ => main/java}/effectivejava/chapter8/item55/ParentPid.java (100%) rename src/{ => main/java}/effectivejava/chapter8/item56/DocExamples.java (100%) rename src/{ => main/java}/effectivejava/chapter9/item58/Card.java (100%) rename src/{ => main/java}/effectivejava/chapter9/item58/DiceRolls.java (100%) rename src/{ => main/java}/effectivejava/chapter9/item59/Curl.java (100%) rename src/{ => main/java}/effectivejava/chapter9/item59/RandomBug.java (100%) rename src/{ => main/java}/effectivejava/chapter9/item60/BigDecimalChange.java (100%) rename src/{ => main/java}/effectivejava/chapter9/item60/Change.java (100%) rename src/{ => main/java}/effectivejava/chapter9/item60/IntChange.java (100%) rename src/{ => main/java}/effectivejava/chapter9/item61/BrokenComparator.java (100%) rename src/{ => main/java}/effectivejava/chapter9/item61/Unbelievable.java (100%) rename src/{ => main/java}/effectivejava/chapter9/item65/ReflectiveInstantiation.java (100%) diff --git a/src/effectivejava/chapter10/item74/IndexOutOfBoundsException.java b/src/main/java/effectivejava/chapter10/item74/IndexOutOfBoundsException.java similarity index 100% rename from src/effectivejava/chapter10/item74/IndexOutOfBoundsException.java rename to src/main/java/effectivejava/chapter10/item74/IndexOutOfBoundsException.java diff --git a/src/effectivejava/chapter11/item78/brokenstopthread/StopThread.java b/src/main/java/effectivejava/chapter11/item78/brokenstopthread/StopThread.java similarity index 100% rename from src/effectivejava/chapter11/item78/brokenstopthread/StopThread.java rename to src/main/java/effectivejava/chapter11/item78/brokenstopthread/StopThread.java diff --git a/src/effectivejava/chapter11/item78/fixedstopthread1/StopThread.java b/src/main/java/effectivejava/chapter11/item78/fixedstopthread1/StopThread.java similarity index 100% rename from src/effectivejava/chapter11/item78/fixedstopthread1/StopThread.java rename to src/main/java/effectivejava/chapter11/item78/fixedstopthread1/StopThread.java diff --git a/src/effectivejava/chapter11/item78/fixedstopthread2/StopThread.java b/src/main/java/effectivejava/chapter11/item78/fixedstopthread2/StopThread.java similarity index 100% rename from src/effectivejava/chapter11/item78/fixedstopthread2/StopThread.java rename to src/main/java/effectivejava/chapter11/item78/fixedstopthread2/StopThread.java diff --git a/src/effectivejava/chapter11/item79/ForwardingSet.java b/src/main/java/effectivejava/chapter11/item79/ForwardingSet.java similarity index 100% rename from src/effectivejava/chapter11/item79/ForwardingSet.java rename to src/main/java/effectivejava/chapter11/item79/ForwardingSet.java diff --git a/src/effectivejava/chapter11/item79/ObservableSet.java b/src/main/java/effectivejava/chapter11/item79/ObservableSet.java similarity index 100% rename from src/effectivejava/chapter11/item79/ObservableSet.java rename to src/main/java/effectivejava/chapter11/item79/ObservableSet.java diff --git a/src/effectivejava/chapter11/item79/SetObserver.java b/src/main/java/effectivejava/chapter11/item79/SetObserver.java similarity index 100% rename from src/effectivejava/chapter11/item79/SetObserver.java rename to src/main/java/effectivejava/chapter11/item79/SetObserver.java diff --git a/src/effectivejava/chapter11/item79/Test1.java b/src/main/java/effectivejava/chapter11/item79/Test1.java similarity index 100% rename from src/effectivejava/chapter11/item79/Test1.java rename to src/main/java/effectivejava/chapter11/item79/Test1.java diff --git a/src/effectivejava/chapter11/item79/Test2.java b/src/main/java/effectivejava/chapter11/item79/Test2.java similarity index 100% rename from src/effectivejava/chapter11/item79/Test2.java rename to src/main/java/effectivejava/chapter11/item79/Test2.java diff --git a/src/effectivejava/chapter11/item79/Test3.java b/src/main/java/effectivejava/chapter11/item79/Test3.java similarity index 100% rename from src/effectivejava/chapter11/item79/Test3.java rename to src/main/java/effectivejava/chapter11/item79/Test3.java diff --git a/src/effectivejava/chapter11/item81/ConcurrentTimer.java b/src/main/java/effectivejava/chapter11/item81/ConcurrentTimer.java similarity index 100% rename from src/effectivejava/chapter11/item81/ConcurrentTimer.java rename to src/main/java/effectivejava/chapter11/item81/ConcurrentTimer.java diff --git a/src/effectivejava/chapter11/item81/Intern.java b/src/main/java/effectivejava/chapter11/item81/Intern.java similarity index 100% rename from src/effectivejava/chapter11/item81/Intern.java rename to src/main/java/effectivejava/chapter11/item81/Intern.java diff --git a/src/effectivejava/chapter11/item83/FieldType.java b/src/main/java/effectivejava/chapter11/item83/FieldType.java similarity index 100% rename from src/effectivejava/chapter11/item83/FieldType.java rename to src/main/java/effectivejava/chapter11/item83/FieldType.java diff --git a/src/effectivejava/chapter11/item83/Initialization.java b/src/main/java/effectivejava/chapter11/item83/Initialization.java similarity index 100% rename from src/effectivejava/chapter11/item83/Initialization.java rename to src/main/java/effectivejava/chapter11/item83/Initialization.java diff --git a/src/effectivejava/chapter11/item84/SlowCountDownLatch.java b/src/main/java/effectivejava/chapter11/item84/SlowCountDownLatch.java similarity index 100% rename from src/effectivejava/chapter11/item84/SlowCountDownLatch.java rename to src/main/java/effectivejava/chapter11/item84/SlowCountDownLatch.java diff --git a/src/effectivejava/chapter12/Util.java b/src/main/java/effectivejava/chapter12/Util.java similarity index 100% rename from src/effectivejava/chapter12/Util.java rename to src/main/java/effectivejava/chapter12/Util.java diff --git a/src/effectivejava/chapter12/item85/DeserializationBomb.java b/src/main/java/effectivejava/chapter12/item85/DeserializationBomb.java similarity index 100% rename from src/effectivejava/chapter12/item85/DeserializationBomb.java rename to src/main/java/effectivejava/chapter12/item85/DeserializationBomb.java diff --git a/src/effectivejava/chapter12/item87/StringList.java b/src/main/java/effectivejava/chapter12/item87/StringList.java similarity index 100% rename from src/effectivejava/chapter12/item87/StringList.java rename to src/main/java/effectivejava/chapter12/item87/StringList.java diff --git a/src/effectivejava/chapter12/item89/enumsingleton/Elvis.java b/src/main/java/effectivejava/chapter12/item89/enumsingleton/Elvis.java similarity index 100% rename from src/effectivejava/chapter12/item89/enumsingleton/Elvis.java rename to src/main/java/effectivejava/chapter12/item89/enumsingleton/Elvis.java diff --git a/src/effectivejava/chapter12/item90/Period.java b/src/main/java/effectivejava/chapter12/item90/Period.java similarity index 100% rename from src/effectivejava/chapter12/item90/Period.java rename to src/main/java/effectivejava/chapter12/item90/Period.java diff --git a/src/effectivejava/chapter2/item2/builder/NutritionFacts.java b/src/main/java/effectivejava/chapter2/item2/builder/NutritionFacts.java similarity index 100% rename from src/effectivejava/chapter2/item2/builder/NutritionFacts.java rename to src/main/java/effectivejava/chapter2/item2/builder/NutritionFacts.java diff --git a/src/effectivejava/chapter2/item2/hierarchicalbuilder/Calzone.java b/src/main/java/effectivejava/chapter2/item2/hierarchicalbuilder/Calzone.java similarity index 100% rename from src/effectivejava/chapter2/item2/hierarchicalbuilder/Calzone.java rename to src/main/java/effectivejava/chapter2/item2/hierarchicalbuilder/Calzone.java diff --git a/src/effectivejava/chapter2/item2/hierarchicalbuilder/NyPizza.java b/src/main/java/effectivejava/chapter2/item2/hierarchicalbuilder/NyPizza.java similarity index 100% rename from src/effectivejava/chapter2/item2/hierarchicalbuilder/NyPizza.java rename to src/main/java/effectivejava/chapter2/item2/hierarchicalbuilder/NyPizza.java diff --git a/src/effectivejava/chapter2/item2/hierarchicalbuilder/Pizza.java b/src/main/java/effectivejava/chapter2/item2/hierarchicalbuilder/Pizza.java similarity index 100% rename from src/effectivejava/chapter2/item2/hierarchicalbuilder/Pizza.java rename to src/main/java/effectivejava/chapter2/item2/hierarchicalbuilder/Pizza.java diff --git a/src/effectivejava/chapter2/item2/hierarchicalbuilder/PizzaTest.java b/src/main/java/effectivejava/chapter2/item2/hierarchicalbuilder/PizzaTest.java similarity index 100% rename from src/effectivejava/chapter2/item2/hierarchicalbuilder/PizzaTest.java rename to src/main/java/effectivejava/chapter2/item2/hierarchicalbuilder/PizzaTest.java diff --git a/src/effectivejava/chapter2/item2/javabeans/NutritionFacts.java b/src/main/java/effectivejava/chapter2/item2/javabeans/NutritionFacts.java similarity index 100% rename from src/effectivejava/chapter2/item2/javabeans/NutritionFacts.java rename to src/main/java/effectivejava/chapter2/item2/javabeans/NutritionFacts.java diff --git a/src/effectivejava/chapter2/item2/telescopingconstructor/NutritionFacts.java b/src/main/java/effectivejava/chapter2/item2/telescopingconstructor/NutritionFacts.java similarity index 100% rename from src/effectivejava/chapter2/item2/telescopingconstructor/NutritionFacts.java rename to src/main/java/effectivejava/chapter2/item2/telescopingconstructor/NutritionFacts.java diff --git a/src/effectivejava/chapter2/item3/enumtype/Elvis.java b/src/main/java/effectivejava/chapter2/item3/enumtype/Elvis.java similarity index 100% rename from src/effectivejava/chapter2/item3/enumtype/Elvis.java rename to src/main/java/effectivejava/chapter2/item3/enumtype/Elvis.java diff --git a/src/effectivejava/chapter2/item3/field/Elvis.java b/src/main/java/effectivejava/chapter2/item3/field/Elvis.java similarity index 100% rename from src/effectivejava/chapter2/item3/field/Elvis.java rename to src/main/java/effectivejava/chapter2/item3/field/Elvis.java diff --git a/src/effectivejava/chapter2/item3/staticfactory/Elvis.java b/src/main/java/effectivejava/chapter2/item3/staticfactory/Elvis.java similarity index 100% rename from src/effectivejava/chapter2/item3/staticfactory/Elvis.java rename to src/main/java/effectivejava/chapter2/item3/staticfactory/Elvis.java diff --git a/src/effectivejava/chapter2/item4/UtilityClass.java b/src/main/java/effectivejava/chapter2/item4/UtilityClass.java similarity index 100% rename from src/effectivejava/chapter2/item4/UtilityClass.java rename to src/main/java/effectivejava/chapter2/item4/UtilityClass.java diff --git a/src/effectivejava/chapter2/item6/RomanNumerals.java b/src/main/java/effectivejava/chapter2/item6/RomanNumerals.java similarity index 100% rename from src/effectivejava/chapter2/item6/RomanNumerals.java rename to src/main/java/effectivejava/chapter2/item6/RomanNumerals.java diff --git a/src/effectivejava/chapter2/item6/Sum.java b/src/main/java/effectivejava/chapter2/item6/Sum.java similarity index 100% rename from src/effectivejava/chapter2/item6/Sum.java rename to src/main/java/effectivejava/chapter2/item6/Sum.java diff --git a/src/effectivejava/chapter2/item7/EmptyStackException.java b/src/main/java/effectivejava/chapter2/item7/EmptyStackException.java similarity index 100% rename from src/effectivejava/chapter2/item7/EmptyStackException.java rename to src/main/java/effectivejava/chapter2/item7/EmptyStackException.java diff --git a/src/effectivejava/chapter2/item7/Stack.java b/src/main/java/effectivejava/chapter2/item7/Stack.java similarity index 100% rename from src/effectivejava/chapter2/item7/Stack.java rename to src/main/java/effectivejava/chapter2/item7/Stack.java diff --git a/src/effectivejava/chapter2/item8/Adult.java b/src/main/java/effectivejava/chapter2/item8/Adult.java similarity index 100% rename from src/effectivejava/chapter2/item8/Adult.java rename to src/main/java/effectivejava/chapter2/item8/Adult.java diff --git a/src/effectivejava/chapter2/item8/Room.java b/src/main/java/effectivejava/chapter2/item8/Room.java similarity index 100% rename from src/effectivejava/chapter2/item8/Room.java rename to src/main/java/effectivejava/chapter2/item8/Room.java diff --git a/src/effectivejava/chapter2/item8/Teenager.java b/src/main/java/effectivejava/chapter2/item8/Teenager.java similarity index 100% rename from src/effectivejava/chapter2/item8/Teenager.java rename to src/main/java/effectivejava/chapter2/item8/Teenager.java diff --git a/src/effectivejava/chapter2/item9/tryfinally/Copy.java b/src/main/java/effectivejava/chapter2/item9/tryfinally/Copy.java similarity index 100% rename from src/effectivejava/chapter2/item9/tryfinally/Copy.java rename to src/main/java/effectivejava/chapter2/item9/tryfinally/Copy.java diff --git a/src/effectivejava/chapter2/item9/tryfinally/TopLine.java b/src/main/java/effectivejava/chapter2/item9/tryfinally/TopLine.java similarity index 100% rename from src/effectivejava/chapter2/item9/tryfinally/TopLine.java rename to src/main/java/effectivejava/chapter2/item9/tryfinally/TopLine.java diff --git a/src/effectivejava/chapter2/item9/trywithresources/Copy.java b/src/main/java/effectivejava/chapter2/item9/trywithresources/Copy.java similarity index 100% rename from src/effectivejava/chapter2/item9/trywithresources/Copy.java rename to src/main/java/effectivejava/chapter2/item9/trywithresources/Copy.java diff --git a/src/effectivejava/chapter2/item9/trywithresources/TopLine.java b/src/main/java/effectivejava/chapter2/item9/trywithresources/TopLine.java similarity index 100% rename from src/effectivejava/chapter2/item9/trywithresources/TopLine.java rename to src/main/java/effectivejava/chapter2/item9/trywithresources/TopLine.java diff --git a/src/effectivejava/chapter2/item9/trywithresources/TopLineWithDefault.java b/src/main/java/effectivejava/chapter2/item9/trywithresources/TopLineWithDefault.java similarity index 100% rename from src/effectivejava/chapter2/item9/trywithresources/TopLineWithDefault.java rename to src/main/java/effectivejava/chapter2/item9/trywithresources/TopLineWithDefault.java diff --git a/src/effectivejava/chapter3/item10/CaseInsensitiveString.java b/src/main/java/effectivejava/chapter3/item10/CaseInsensitiveString.java similarity index 100% rename from src/effectivejava/chapter3/item10/CaseInsensitiveString.java rename to src/main/java/effectivejava/chapter3/item10/CaseInsensitiveString.java diff --git a/src/effectivejava/chapter3/item10/Color.java b/src/main/java/effectivejava/chapter3/item10/Color.java similarity index 100% rename from src/effectivejava/chapter3/item10/Color.java rename to src/main/java/effectivejava/chapter3/item10/Color.java diff --git a/src/effectivejava/chapter3/item10/PhoneNumber.java b/src/main/java/effectivejava/chapter3/item10/PhoneNumber.java similarity index 100% rename from src/effectivejava/chapter3/item10/PhoneNumber.java rename to src/main/java/effectivejava/chapter3/item10/PhoneNumber.java diff --git a/src/effectivejava/chapter3/item10/Point.java b/src/main/java/effectivejava/chapter3/item10/Point.java similarity index 100% rename from src/effectivejava/chapter3/item10/Point.java rename to src/main/java/effectivejava/chapter3/item10/Point.java diff --git a/src/effectivejava/chapter3/item10/composition/ColorPoint.java b/src/main/java/effectivejava/chapter3/item10/composition/ColorPoint.java similarity index 100% rename from src/effectivejava/chapter3/item10/composition/ColorPoint.java rename to src/main/java/effectivejava/chapter3/item10/composition/ColorPoint.java diff --git a/src/effectivejava/chapter3/item10/inheritance/ColorPoint.java b/src/main/java/effectivejava/chapter3/item10/inheritance/ColorPoint.java similarity index 100% rename from src/effectivejava/chapter3/item10/inheritance/ColorPoint.java rename to src/main/java/effectivejava/chapter3/item10/inheritance/ColorPoint.java diff --git a/src/effectivejava/chapter3/item10/inheritance/CounterPoint.java b/src/main/java/effectivejava/chapter3/item10/inheritance/CounterPoint.java similarity index 100% rename from src/effectivejava/chapter3/item10/inheritance/CounterPoint.java rename to src/main/java/effectivejava/chapter3/item10/inheritance/CounterPoint.java diff --git a/src/effectivejava/chapter3/item10/inheritance/CounterPointTest.java b/src/main/java/effectivejava/chapter3/item10/inheritance/CounterPointTest.java similarity index 100% rename from src/effectivejava/chapter3/item10/inheritance/CounterPointTest.java rename to src/main/java/effectivejava/chapter3/item10/inheritance/CounterPointTest.java diff --git a/src/effectivejava/chapter3/item11/PhoneNumber.java b/src/main/java/effectivejava/chapter3/item11/PhoneNumber.java similarity index 100% rename from src/effectivejava/chapter3/item11/PhoneNumber.java rename to src/main/java/effectivejava/chapter3/item11/PhoneNumber.java diff --git a/src/effectivejava/chapter3/item12/PhoneNumber.java b/src/main/java/effectivejava/chapter3/item12/PhoneNumber.java similarity index 100% rename from src/effectivejava/chapter3/item12/PhoneNumber.java rename to src/main/java/effectivejava/chapter3/item12/PhoneNumber.java diff --git a/src/effectivejava/chapter3/item13/EmptyStackException.java b/src/main/java/effectivejava/chapter3/item13/EmptyStackException.java similarity index 100% rename from src/effectivejava/chapter3/item13/EmptyStackException.java rename to src/main/java/effectivejava/chapter3/item13/EmptyStackException.java diff --git a/src/effectivejava/chapter3/item13/PhoneNumber.java b/src/main/java/effectivejava/chapter3/item13/PhoneNumber.java similarity index 100% rename from src/effectivejava/chapter3/item13/PhoneNumber.java rename to src/main/java/effectivejava/chapter3/item13/PhoneNumber.java diff --git a/src/effectivejava/chapter3/item13/Stack.java b/src/main/java/effectivejava/chapter3/item13/Stack.java similarity index 100% rename from src/effectivejava/chapter3/item13/Stack.java rename to src/main/java/effectivejava/chapter3/item13/Stack.java diff --git a/src/effectivejava/chapter3/item14/CaseInsensitiveString.java b/src/main/java/effectivejava/chapter3/item14/CaseInsensitiveString.java similarity index 100% rename from src/effectivejava/chapter3/item14/CaseInsensitiveString.java rename to src/main/java/effectivejava/chapter3/item14/CaseInsensitiveString.java diff --git a/src/effectivejava/chapter3/item14/PhoneNumber.java b/src/main/java/effectivejava/chapter3/item14/PhoneNumber.java similarity index 100% rename from src/effectivejava/chapter3/item14/PhoneNumber.java rename to src/main/java/effectivejava/chapter3/item14/PhoneNumber.java diff --git a/src/effectivejava/chapter3/item14/WordList.java b/src/main/java/effectivejava/chapter3/item14/WordList.java similarity index 100% rename from src/effectivejava/chapter3/item14/WordList.java rename to src/main/java/effectivejava/chapter3/item14/WordList.java diff --git a/src/effectivejava/chapter4/item16/Point.java b/src/main/java/effectivejava/chapter4/item16/Point.java similarity index 100% rename from src/effectivejava/chapter4/item16/Point.java rename to src/main/java/effectivejava/chapter4/item16/Point.java diff --git a/src/effectivejava/chapter4/item16/Time.java b/src/main/java/effectivejava/chapter4/item16/Time.java similarity index 100% rename from src/effectivejava/chapter4/item16/Time.java rename to src/main/java/effectivejava/chapter4/item16/Time.java diff --git a/src/effectivejava/chapter4/item17/Complex.java b/src/main/java/effectivejava/chapter4/item17/Complex.java similarity index 100% rename from src/effectivejava/chapter4/item17/Complex.java rename to src/main/java/effectivejava/chapter4/item17/Complex.java diff --git a/src/effectivejava/chapter4/item18/ForwardingSet.java b/src/main/java/effectivejava/chapter4/item18/ForwardingSet.java similarity index 100% rename from src/effectivejava/chapter4/item18/ForwardingSet.java rename to src/main/java/effectivejava/chapter4/item18/ForwardingSet.java diff --git a/src/effectivejava/chapter4/item18/InstrumentedHashSet.java b/src/main/java/effectivejava/chapter4/item18/InstrumentedHashSet.java similarity index 100% rename from src/effectivejava/chapter4/item18/InstrumentedHashSet.java rename to src/main/java/effectivejava/chapter4/item18/InstrumentedHashSet.java diff --git a/src/effectivejava/chapter4/item18/InstrumentedSet.java b/src/main/java/effectivejava/chapter4/item18/InstrumentedSet.java similarity index 100% rename from src/effectivejava/chapter4/item18/InstrumentedSet.java rename to src/main/java/effectivejava/chapter4/item18/InstrumentedSet.java diff --git a/src/effectivejava/chapter4/item19/Sub.java b/src/main/java/effectivejava/chapter4/item19/Sub.java similarity index 100% rename from src/effectivejava/chapter4/item19/Sub.java rename to src/main/java/effectivejava/chapter4/item19/Sub.java diff --git a/src/effectivejava/chapter4/item19/Super.java b/src/main/java/effectivejava/chapter4/item19/Super.java similarity index 100% rename from src/effectivejava/chapter4/item19/Super.java rename to src/main/java/effectivejava/chapter4/item19/Super.java diff --git a/src/effectivejava/chapter4/item20/AbstractMapEntry.java b/src/main/java/effectivejava/chapter4/item20/AbstractMapEntry.java similarity index 100% rename from src/effectivejava/chapter4/item20/AbstractMapEntry.java rename to src/main/java/effectivejava/chapter4/item20/AbstractMapEntry.java diff --git a/src/effectivejava/chapter4/item20/IntArrays.java b/src/main/java/effectivejava/chapter4/item20/IntArrays.java similarity index 100% rename from src/effectivejava/chapter4/item20/IntArrays.java rename to src/main/java/effectivejava/chapter4/item20/IntArrays.java diff --git a/src/effectivejava/chapter4/item22/constantinterface/PhysicalConstants.java b/src/main/java/effectivejava/chapter4/item22/constantinterface/PhysicalConstants.java similarity index 100% rename from src/effectivejava/chapter4/item22/constantinterface/PhysicalConstants.java rename to src/main/java/effectivejava/chapter4/item22/constantinterface/PhysicalConstants.java diff --git a/src/effectivejava/chapter4/item22/constantutilityclass/PhysicalConstants.java b/src/main/java/effectivejava/chapter4/item22/constantutilityclass/PhysicalConstants.java similarity index 100% rename from src/effectivejava/chapter4/item22/constantutilityclass/PhysicalConstants.java rename to src/main/java/effectivejava/chapter4/item22/constantutilityclass/PhysicalConstants.java diff --git a/src/effectivejava/chapter4/item23/hierarchy/Circle.java b/src/main/java/effectivejava/chapter4/item23/hierarchy/Circle.java similarity index 100% rename from src/effectivejava/chapter4/item23/hierarchy/Circle.java rename to src/main/java/effectivejava/chapter4/item23/hierarchy/Circle.java diff --git a/src/effectivejava/chapter4/item23/hierarchy/Figure.java b/src/main/java/effectivejava/chapter4/item23/hierarchy/Figure.java similarity index 100% rename from src/effectivejava/chapter4/item23/hierarchy/Figure.java rename to src/main/java/effectivejava/chapter4/item23/hierarchy/Figure.java diff --git a/src/effectivejava/chapter4/item23/hierarchy/Rectangle.java b/src/main/java/effectivejava/chapter4/item23/hierarchy/Rectangle.java similarity index 100% rename from src/effectivejava/chapter4/item23/hierarchy/Rectangle.java rename to src/main/java/effectivejava/chapter4/item23/hierarchy/Rectangle.java diff --git a/src/effectivejava/chapter4/item23/hierarchy/Square.java b/src/main/java/effectivejava/chapter4/item23/hierarchy/Square.java similarity index 100% rename from src/effectivejava/chapter4/item23/hierarchy/Square.java rename to src/main/java/effectivejava/chapter4/item23/hierarchy/Square.java diff --git a/src/effectivejava/chapter4/item23/taggedclass/Figure.java b/src/main/java/effectivejava/chapter4/item23/taggedclass/Figure.java similarity index 100% rename from src/effectivejava/chapter4/item23/taggedclass/Figure.java rename to src/main/java/effectivejava/chapter4/item23/taggedclass/Figure.java diff --git a/src/effectivejava/chapter4/item25/Dessert.java b/src/main/java/effectivejava/chapter4/item25/Dessert.java similarity index 100% rename from src/effectivejava/chapter4/item25/Dessert.java rename to src/main/java/effectivejava/chapter4/item25/Dessert.java diff --git a/src/effectivejava/chapter4/item25/Main.java b/src/main/java/effectivejava/chapter4/item25/Main.java similarity index 100% rename from src/effectivejava/chapter4/item25/Main.java rename to src/main/java/effectivejava/chapter4/item25/Main.java diff --git a/src/effectivejava/chapter4/item25/Test.java b/src/main/java/effectivejava/chapter4/item25/Test.java similarity index 100% rename from src/effectivejava/chapter4/item25/Test.java rename to src/main/java/effectivejava/chapter4/item25/Test.java diff --git a/src/effectivejava/chapter4/item25/Utensil.java b/src/main/java/effectivejava/chapter4/item25/Utensil.java similarity index 100% rename from src/effectivejava/chapter4/item25/Utensil.java rename to src/main/java/effectivejava/chapter4/item25/Utensil.java diff --git a/src/effectivejava/chapter5/item26/Raw.java b/src/main/java/effectivejava/chapter5/item26/Raw.java similarity index 100% rename from src/effectivejava/chapter5/item26/Raw.java rename to src/main/java/effectivejava/chapter5/item26/Raw.java diff --git a/src/effectivejava/chapter5/item28/Chooser.java b/src/main/java/effectivejava/chapter5/item28/Chooser.java similarity index 100% rename from src/effectivejava/chapter5/item28/Chooser.java rename to src/main/java/effectivejava/chapter5/item28/Chooser.java diff --git a/src/effectivejava/chapter5/item29/EmptyStackException.java b/src/main/java/effectivejava/chapter5/item29/EmptyStackException.java similarity index 100% rename from src/effectivejava/chapter5/item29/EmptyStackException.java rename to src/main/java/effectivejava/chapter5/item29/EmptyStackException.java diff --git a/src/effectivejava/chapter5/item29/technqiue1/Stack.java b/src/main/java/effectivejava/chapter5/item29/technqiue1/Stack.java similarity index 100% rename from src/effectivejava/chapter5/item29/technqiue1/Stack.java rename to src/main/java/effectivejava/chapter5/item29/technqiue1/Stack.java diff --git a/src/effectivejava/chapter5/item29/technqiue2/Stack.java b/src/main/java/effectivejava/chapter5/item29/technqiue2/Stack.java similarity index 100% rename from src/effectivejava/chapter5/item29/technqiue2/Stack.java rename to src/main/java/effectivejava/chapter5/item29/technqiue2/Stack.java diff --git a/src/effectivejava/chapter5/item30/GenericSingletonFactory.java b/src/main/java/effectivejava/chapter5/item30/GenericSingletonFactory.java similarity index 100% rename from src/effectivejava/chapter5/item30/GenericSingletonFactory.java rename to src/main/java/effectivejava/chapter5/item30/GenericSingletonFactory.java diff --git a/src/effectivejava/chapter5/item30/RecursiveTypeBound.java b/src/main/java/effectivejava/chapter5/item30/RecursiveTypeBound.java similarity index 100% rename from src/effectivejava/chapter5/item30/RecursiveTypeBound.java rename to src/main/java/effectivejava/chapter5/item30/RecursiveTypeBound.java diff --git a/src/effectivejava/chapter5/item30/Union.java b/src/main/java/effectivejava/chapter5/item30/Union.java similarity index 100% rename from src/effectivejava/chapter5/item30/Union.java rename to src/main/java/effectivejava/chapter5/item30/Union.java diff --git a/src/effectivejava/chapter5/item31/Chooser.java b/src/main/java/effectivejava/chapter5/item31/Chooser.java similarity index 100% rename from src/effectivejava/chapter5/item31/Chooser.java rename to src/main/java/effectivejava/chapter5/item31/Chooser.java diff --git a/src/effectivejava/chapter5/item31/EmptyStackException.java b/src/main/java/effectivejava/chapter5/item31/EmptyStackException.java similarity index 100% rename from src/effectivejava/chapter5/item31/EmptyStackException.java rename to src/main/java/effectivejava/chapter5/item31/EmptyStackException.java diff --git a/src/effectivejava/chapter5/item31/RecursiveTypeBound.java b/src/main/java/effectivejava/chapter5/item31/RecursiveTypeBound.java similarity index 100% rename from src/effectivejava/chapter5/item31/RecursiveTypeBound.java rename to src/main/java/effectivejava/chapter5/item31/RecursiveTypeBound.java diff --git a/src/effectivejava/chapter5/item31/Stack.java b/src/main/java/effectivejava/chapter5/item31/Stack.java similarity index 100% rename from src/effectivejava/chapter5/item31/Stack.java rename to src/main/java/effectivejava/chapter5/item31/Stack.java diff --git a/src/effectivejava/chapter5/item31/Swap.java b/src/main/java/effectivejava/chapter5/item31/Swap.java similarity index 100% rename from src/effectivejava/chapter5/item31/Swap.java rename to src/main/java/effectivejava/chapter5/item31/Swap.java diff --git a/src/effectivejava/chapter5/item31/Union.java b/src/main/java/effectivejava/chapter5/item31/Union.java similarity index 100% rename from src/effectivejava/chapter5/item31/Union.java rename to src/main/java/effectivejava/chapter5/item31/Union.java diff --git a/src/effectivejava/chapter5/item32/Dangerous.java b/src/main/java/effectivejava/chapter5/item32/Dangerous.java similarity index 100% rename from src/effectivejava/chapter5/item32/Dangerous.java rename to src/main/java/effectivejava/chapter5/item32/Dangerous.java diff --git a/src/effectivejava/chapter5/item32/FlattenWithList.java b/src/main/java/effectivejava/chapter5/item32/FlattenWithList.java similarity index 100% rename from src/effectivejava/chapter5/item32/FlattenWithList.java rename to src/main/java/effectivejava/chapter5/item32/FlattenWithList.java diff --git a/src/effectivejava/chapter5/item32/FlattenWithVarargs.java b/src/main/java/effectivejava/chapter5/item32/FlattenWithVarargs.java similarity index 100% rename from src/effectivejava/chapter5/item32/FlattenWithVarargs.java rename to src/main/java/effectivejava/chapter5/item32/FlattenWithVarargs.java diff --git a/src/effectivejava/chapter5/item32/PickTwo.java b/src/main/java/effectivejava/chapter5/item32/PickTwo.java similarity index 100% rename from src/effectivejava/chapter5/item32/PickTwo.java rename to src/main/java/effectivejava/chapter5/item32/PickTwo.java diff --git a/src/effectivejava/chapter5/item32/SafePickTwo.java b/src/main/java/effectivejava/chapter5/item32/SafePickTwo.java similarity index 100% rename from src/effectivejava/chapter5/item32/SafePickTwo.java rename to src/main/java/effectivejava/chapter5/item32/SafePickTwo.java diff --git a/src/effectivejava/chapter5/item33/Favorites.java b/src/main/java/effectivejava/chapter5/item33/Favorites.java similarity index 100% rename from src/effectivejava/chapter5/item33/Favorites.java rename to src/main/java/effectivejava/chapter5/item33/Favorites.java diff --git a/src/effectivejava/chapter5/item33/PrintAnnotation.java b/src/main/java/effectivejava/chapter5/item33/PrintAnnotation.java similarity index 100% rename from src/effectivejava/chapter5/item33/PrintAnnotation.java rename to src/main/java/effectivejava/chapter5/item33/PrintAnnotation.java diff --git a/src/effectivejava/chapter6/item34/Inverse.java b/src/main/java/effectivejava/chapter6/item34/Inverse.java similarity index 100% rename from src/effectivejava/chapter6/item34/Inverse.java rename to src/main/java/effectivejava/chapter6/item34/Inverse.java diff --git a/src/effectivejava/chapter6/item34/Operation.java b/src/main/java/effectivejava/chapter6/item34/Operation.java similarity index 100% rename from src/effectivejava/chapter6/item34/Operation.java rename to src/main/java/effectivejava/chapter6/item34/Operation.java diff --git a/src/effectivejava/chapter6/item34/PayrollDay.java b/src/main/java/effectivejava/chapter6/item34/PayrollDay.java similarity index 100% rename from src/effectivejava/chapter6/item34/PayrollDay.java rename to src/main/java/effectivejava/chapter6/item34/PayrollDay.java diff --git a/src/effectivejava/chapter6/item34/Planet.java b/src/main/java/effectivejava/chapter6/item34/Planet.java similarity index 100% rename from src/effectivejava/chapter6/item34/Planet.java rename to src/main/java/effectivejava/chapter6/item34/Planet.java diff --git a/src/effectivejava/chapter6/item34/WeightTable.java b/src/main/java/effectivejava/chapter6/item34/WeightTable.java similarity index 100% rename from src/effectivejava/chapter6/item34/WeightTable.java rename to src/main/java/effectivejava/chapter6/item34/WeightTable.java diff --git a/src/effectivejava/chapter6/item35/Ensemble.java b/src/main/java/effectivejava/chapter6/item35/Ensemble.java similarity index 100% rename from src/effectivejava/chapter6/item35/Ensemble.java rename to src/main/java/effectivejava/chapter6/item35/Ensemble.java diff --git a/src/effectivejava/chapter6/item36/Text.java b/src/main/java/effectivejava/chapter6/item36/Text.java similarity index 100% rename from src/effectivejava/chapter6/item36/Text.java rename to src/main/java/effectivejava/chapter6/item36/Text.java diff --git a/src/effectivejava/chapter6/item37/Phase.java b/src/main/java/effectivejava/chapter6/item37/Phase.java similarity index 100% rename from src/effectivejava/chapter6/item37/Phase.java rename to src/main/java/effectivejava/chapter6/item37/Phase.java diff --git a/src/effectivejava/chapter6/item37/Plant.java b/src/main/java/effectivejava/chapter6/item37/Plant.java similarity index 100% rename from src/effectivejava/chapter6/item37/Plant.java rename to src/main/java/effectivejava/chapter6/item37/Plant.java diff --git a/src/effectivejava/chapter6/item38/BasicOperation.java b/src/main/java/effectivejava/chapter6/item38/BasicOperation.java similarity index 100% rename from src/effectivejava/chapter6/item38/BasicOperation.java rename to src/main/java/effectivejava/chapter6/item38/BasicOperation.java diff --git a/src/effectivejava/chapter6/item38/ExtendedOperation.java b/src/main/java/effectivejava/chapter6/item38/ExtendedOperation.java similarity index 100% rename from src/effectivejava/chapter6/item38/ExtendedOperation.java rename to src/main/java/effectivejava/chapter6/item38/ExtendedOperation.java diff --git a/src/effectivejava/chapter6/item38/Operation.java b/src/main/java/effectivejava/chapter6/item38/Operation.java similarity index 100% rename from src/effectivejava/chapter6/item38/Operation.java rename to src/main/java/effectivejava/chapter6/item38/Operation.java diff --git a/src/effectivejava/chapter6/item39/annotationwitharrayparameter/ExceptionTest.java b/src/main/java/effectivejava/chapter6/item39/annotationwitharrayparameter/ExceptionTest.java similarity index 100% rename from src/effectivejava/chapter6/item39/annotationwitharrayparameter/ExceptionTest.java rename to src/main/java/effectivejava/chapter6/item39/annotationwitharrayparameter/ExceptionTest.java diff --git a/src/effectivejava/chapter6/item39/annotationwitharrayparameter/RunTests.java b/src/main/java/effectivejava/chapter6/item39/annotationwitharrayparameter/RunTests.java similarity index 100% rename from src/effectivejava/chapter6/item39/annotationwitharrayparameter/RunTests.java rename to src/main/java/effectivejava/chapter6/item39/annotationwitharrayparameter/RunTests.java diff --git a/src/effectivejava/chapter6/item39/annotationwitharrayparameter/Sample3.java b/src/main/java/effectivejava/chapter6/item39/annotationwitharrayparameter/Sample3.java similarity index 100% rename from src/effectivejava/chapter6/item39/annotationwitharrayparameter/Sample3.java rename to src/main/java/effectivejava/chapter6/item39/annotationwitharrayparameter/Sample3.java diff --git a/src/effectivejava/chapter6/item39/annotationwithparameter/ExceptionTest.java b/src/main/java/effectivejava/chapter6/item39/annotationwithparameter/ExceptionTest.java similarity index 100% rename from src/effectivejava/chapter6/item39/annotationwithparameter/ExceptionTest.java rename to src/main/java/effectivejava/chapter6/item39/annotationwithparameter/ExceptionTest.java diff --git a/src/effectivejava/chapter6/item39/annotationwithparameter/RunTests.java b/src/main/java/effectivejava/chapter6/item39/annotationwithparameter/RunTests.java similarity index 100% rename from src/effectivejava/chapter6/item39/annotationwithparameter/RunTests.java rename to src/main/java/effectivejava/chapter6/item39/annotationwithparameter/RunTests.java diff --git a/src/effectivejava/chapter6/item39/annotationwithparameter/Sample2.java b/src/main/java/effectivejava/chapter6/item39/annotationwithparameter/Sample2.java similarity index 100% rename from src/effectivejava/chapter6/item39/annotationwithparameter/Sample2.java rename to src/main/java/effectivejava/chapter6/item39/annotationwithparameter/Sample2.java diff --git a/src/effectivejava/chapter6/item39/markerannotation/RunTests.java b/src/main/java/effectivejava/chapter6/item39/markerannotation/RunTests.java similarity index 100% rename from src/effectivejava/chapter6/item39/markerannotation/RunTests.java rename to src/main/java/effectivejava/chapter6/item39/markerannotation/RunTests.java diff --git a/src/effectivejava/chapter6/item39/markerannotation/Sample.java b/src/main/java/effectivejava/chapter6/item39/markerannotation/Sample.java similarity index 100% rename from src/effectivejava/chapter6/item39/markerannotation/Sample.java rename to src/main/java/effectivejava/chapter6/item39/markerannotation/Sample.java diff --git a/src/effectivejava/chapter6/item39/markerannotation/Test.java b/src/main/java/effectivejava/chapter6/item39/markerannotation/Test.java similarity index 100% rename from src/effectivejava/chapter6/item39/markerannotation/Test.java rename to src/main/java/effectivejava/chapter6/item39/markerannotation/Test.java diff --git a/src/effectivejava/chapter6/item39/repeatableannotation/ExceptionTest.java b/src/main/java/effectivejava/chapter6/item39/repeatableannotation/ExceptionTest.java similarity index 100% rename from src/effectivejava/chapter6/item39/repeatableannotation/ExceptionTest.java rename to src/main/java/effectivejava/chapter6/item39/repeatableannotation/ExceptionTest.java diff --git a/src/effectivejava/chapter6/item39/repeatableannotation/ExceptionTestContainer.java b/src/main/java/effectivejava/chapter6/item39/repeatableannotation/ExceptionTestContainer.java similarity index 100% rename from src/effectivejava/chapter6/item39/repeatableannotation/ExceptionTestContainer.java rename to src/main/java/effectivejava/chapter6/item39/repeatableannotation/ExceptionTestContainer.java diff --git a/src/effectivejava/chapter6/item39/repeatableannotation/RunTests.java b/src/main/java/effectivejava/chapter6/item39/repeatableannotation/RunTests.java similarity index 100% rename from src/effectivejava/chapter6/item39/repeatableannotation/RunTests.java rename to src/main/java/effectivejava/chapter6/item39/repeatableannotation/RunTests.java diff --git a/src/effectivejava/chapter6/item39/repeatableannotation/Sample4.java b/src/main/java/effectivejava/chapter6/item39/repeatableannotation/Sample4.java similarity index 100% rename from src/effectivejava/chapter6/item39/repeatableannotation/Sample4.java rename to src/main/java/effectivejava/chapter6/item39/repeatableannotation/Sample4.java diff --git a/src/effectivejava/chapter6/item40/Bigram.java b/src/main/java/effectivejava/chapter6/item40/Bigram.java similarity index 100% rename from src/effectivejava/chapter6/item40/Bigram.java rename to src/main/java/effectivejava/chapter6/item40/Bigram.java diff --git a/src/effectivejava/chapter6/item40/Bigram2.java b/src/main/java/effectivejava/chapter6/item40/Bigram2.java similarity index 100% rename from src/effectivejava/chapter6/item40/Bigram2.java rename to src/main/java/effectivejava/chapter6/item40/Bigram2.java diff --git a/src/effectivejava/chapter7/item42/Operation.java b/src/main/java/effectivejava/chapter7/item42/Operation.java similarity index 100% rename from src/effectivejava/chapter7/item42/Operation.java rename to src/main/java/effectivejava/chapter7/item42/Operation.java diff --git a/src/effectivejava/chapter7/item42/SortFourWays.java b/src/main/java/effectivejava/chapter7/item42/SortFourWays.java similarity index 100% rename from src/effectivejava/chapter7/item42/SortFourWays.java rename to src/main/java/effectivejava/chapter7/item42/SortFourWays.java diff --git a/src/effectivejava/chapter7/item43/Freq.java b/src/main/java/effectivejava/chapter7/item43/Freq.java similarity index 100% rename from src/effectivejava/chapter7/item43/Freq.java rename to src/main/java/effectivejava/chapter7/item43/Freq.java diff --git a/src/effectivejava/chapter7/item45/Card.java b/src/main/java/effectivejava/chapter7/item45/Card.java similarity index 100% rename from src/effectivejava/chapter7/item45/Card.java rename to src/main/java/effectivejava/chapter7/item45/Card.java diff --git a/src/effectivejava/chapter7/item45/CharStream.java b/src/main/java/effectivejava/chapter7/item45/CharStream.java similarity index 100% rename from src/effectivejava/chapter7/item45/CharStream.java rename to src/main/java/effectivejava/chapter7/item45/CharStream.java diff --git a/src/effectivejava/chapter7/item45/MersennePrimes.java b/src/main/java/effectivejava/chapter7/item45/MersennePrimes.java similarity index 100% rename from src/effectivejava/chapter7/item45/MersennePrimes.java rename to src/main/java/effectivejava/chapter7/item45/MersennePrimes.java diff --git a/src/effectivejava/chapter7/item45/anagrams/HybridAnagrams.java b/src/main/java/effectivejava/chapter7/item45/anagrams/HybridAnagrams.java similarity index 100% rename from src/effectivejava/chapter7/item45/anagrams/HybridAnagrams.java rename to src/main/java/effectivejava/chapter7/item45/anagrams/HybridAnagrams.java diff --git a/src/effectivejava/chapter7/item45/anagrams/IterativeAnagrams.java b/src/main/java/effectivejava/chapter7/item45/anagrams/IterativeAnagrams.java similarity index 100% rename from src/effectivejava/chapter7/item45/anagrams/IterativeAnagrams.java rename to src/main/java/effectivejava/chapter7/item45/anagrams/IterativeAnagrams.java diff --git a/src/effectivejava/chapter7/item45/anagrams/StreamAnagrams.java b/src/main/java/effectivejava/chapter7/item45/anagrams/StreamAnagrams.java similarity index 100% rename from src/effectivejava/chapter7/item45/anagrams/StreamAnagrams.java rename to src/main/java/effectivejava/chapter7/item45/anagrams/StreamAnagrams.java diff --git a/src/effectivejava/chapter7/item46/Freq.java b/src/main/java/effectivejava/chapter7/item46/Freq.java similarity index 100% rename from src/effectivejava/chapter7/item46/Freq.java rename to src/main/java/effectivejava/chapter7/item46/Freq.java diff --git a/src/effectivejava/chapter7/item47/Adapters.java b/src/main/java/effectivejava/chapter7/item47/Adapters.java similarity index 100% rename from src/effectivejava/chapter7/item47/Adapters.java rename to src/main/java/effectivejava/chapter7/item47/Adapters.java diff --git a/src/effectivejava/chapter7/item47/PowerSet.java b/src/main/java/effectivejava/chapter7/item47/PowerSet.java similarity index 100% rename from src/effectivejava/chapter7/item47/PowerSet.java rename to src/main/java/effectivejava/chapter7/item47/PowerSet.java diff --git a/src/effectivejava/chapter7/item47/SubLists.java b/src/main/java/effectivejava/chapter7/item47/SubLists.java similarity index 100% rename from src/effectivejava/chapter7/item47/SubLists.java rename to src/main/java/effectivejava/chapter7/item47/SubLists.java diff --git a/src/effectivejava/chapter7/item48/ParallelMersennePrimes.java b/src/main/java/effectivejava/chapter7/item48/ParallelMersennePrimes.java similarity index 100% rename from src/effectivejava/chapter7/item48/ParallelMersennePrimes.java rename to src/main/java/effectivejava/chapter7/item48/ParallelMersennePrimes.java diff --git a/src/effectivejava/chapter7/item48/ParallelPrimeCounting.java b/src/main/java/effectivejava/chapter7/item48/ParallelPrimeCounting.java similarity index 100% rename from src/effectivejava/chapter7/item48/ParallelPrimeCounting.java rename to src/main/java/effectivejava/chapter7/item48/ParallelPrimeCounting.java diff --git a/src/effectivejava/chapter8/item50/Attacks.java b/src/main/java/effectivejava/chapter8/item50/Attacks.java similarity index 100% rename from src/effectivejava/chapter8/item50/Attacks.java rename to src/main/java/effectivejava/chapter8/item50/Attacks.java diff --git a/src/effectivejava/chapter8/item50/Period.java b/src/main/java/effectivejava/chapter8/item50/Period.java similarity index 100% rename from src/effectivejava/chapter8/item50/Period.java rename to src/main/java/effectivejava/chapter8/item50/Period.java diff --git a/src/effectivejava/chapter8/item52/Champagne.java b/src/main/java/effectivejava/chapter8/item52/Champagne.java similarity index 100% rename from src/effectivejava/chapter8/item52/Champagne.java rename to src/main/java/effectivejava/chapter8/item52/Champagne.java diff --git a/src/effectivejava/chapter8/item52/CollectionClassifier.java b/src/main/java/effectivejava/chapter8/item52/CollectionClassifier.java similarity index 100% rename from src/effectivejava/chapter8/item52/CollectionClassifier.java rename to src/main/java/effectivejava/chapter8/item52/CollectionClassifier.java diff --git a/src/effectivejava/chapter8/item52/FixedCollectionClassifier.java b/src/main/java/effectivejava/chapter8/item52/FixedCollectionClassifier.java similarity index 100% rename from src/effectivejava/chapter8/item52/FixedCollectionClassifier.java rename to src/main/java/effectivejava/chapter8/item52/FixedCollectionClassifier.java diff --git a/src/effectivejava/chapter8/item52/Overriding.java b/src/main/java/effectivejava/chapter8/item52/Overriding.java similarity index 100% rename from src/effectivejava/chapter8/item52/Overriding.java rename to src/main/java/effectivejava/chapter8/item52/Overriding.java diff --git a/src/effectivejava/chapter8/item52/SetList.java b/src/main/java/effectivejava/chapter8/item52/SetList.java similarity index 100% rename from src/effectivejava/chapter8/item52/SetList.java rename to src/main/java/effectivejava/chapter8/item52/SetList.java diff --git a/src/effectivejava/chapter8/item52/SparklingWine.java b/src/main/java/effectivejava/chapter8/item52/SparklingWine.java similarity index 100% rename from src/effectivejava/chapter8/item52/SparklingWine.java rename to src/main/java/effectivejava/chapter8/item52/SparklingWine.java diff --git a/src/effectivejava/chapter8/item52/Wine.java b/src/main/java/effectivejava/chapter8/item52/Wine.java similarity index 100% rename from src/effectivejava/chapter8/item52/Wine.java rename to src/main/java/effectivejava/chapter8/item52/Wine.java diff --git a/src/effectivejava/chapter8/item53/Varargs.java b/src/main/java/effectivejava/chapter8/item53/Varargs.java similarity index 100% rename from src/effectivejava/chapter8/item53/Varargs.java rename to src/main/java/effectivejava/chapter8/item53/Varargs.java diff --git a/src/effectivejava/chapter8/item55/Max.java b/src/main/java/effectivejava/chapter8/item55/Max.java similarity index 100% rename from src/effectivejava/chapter8/item55/Max.java rename to src/main/java/effectivejava/chapter8/item55/Max.java diff --git a/src/effectivejava/chapter8/item55/ParentPid.java b/src/main/java/effectivejava/chapter8/item55/ParentPid.java similarity index 100% rename from src/effectivejava/chapter8/item55/ParentPid.java rename to src/main/java/effectivejava/chapter8/item55/ParentPid.java diff --git a/src/effectivejava/chapter8/item56/DocExamples.java b/src/main/java/effectivejava/chapter8/item56/DocExamples.java similarity index 100% rename from src/effectivejava/chapter8/item56/DocExamples.java rename to src/main/java/effectivejava/chapter8/item56/DocExamples.java diff --git a/src/effectivejava/chapter9/item58/Card.java b/src/main/java/effectivejava/chapter9/item58/Card.java similarity index 100% rename from src/effectivejava/chapter9/item58/Card.java rename to src/main/java/effectivejava/chapter9/item58/Card.java diff --git a/src/effectivejava/chapter9/item58/DiceRolls.java b/src/main/java/effectivejava/chapter9/item58/DiceRolls.java similarity index 100% rename from src/effectivejava/chapter9/item58/DiceRolls.java rename to src/main/java/effectivejava/chapter9/item58/DiceRolls.java diff --git a/src/effectivejava/chapter9/item59/Curl.java b/src/main/java/effectivejava/chapter9/item59/Curl.java similarity index 100% rename from src/effectivejava/chapter9/item59/Curl.java rename to src/main/java/effectivejava/chapter9/item59/Curl.java diff --git a/src/effectivejava/chapter9/item59/RandomBug.java b/src/main/java/effectivejava/chapter9/item59/RandomBug.java similarity index 100% rename from src/effectivejava/chapter9/item59/RandomBug.java rename to src/main/java/effectivejava/chapter9/item59/RandomBug.java diff --git a/src/effectivejava/chapter9/item60/BigDecimalChange.java b/src/main/java/effectivejava/chapter9/item60/BigDecimalChange.java similarity index 100% rename from src/effectivejava/chapter9/item60/BigDecimalChange.java rename to src/main/java/effectivejava/chapter9/item60/BigDecimalChange.java diff --git a/src/effectivejava/chapter9/item60/Change.java b/src/main/java/effectivejava/chapter9/item60/Change.java similarity index 100% rename from src/effectivejava/chapter9/item60/Change.java rename to src/main/java/effectivejava/chapter9/item60/Change.java diff --git a/src/effectivejava/chapter9/item60/IntChange.java b/src/main/java/effectivejava/chapter9/item60/IntChange.java similarity index 100% rename from src/effectivejava/chapter9/item60/IntChange.java rename to src/main/java/effectivejava/chapter9/item60/IntChange.java diff --git a/src/effectivejava/chapter9/item61/BrokenComparator.java b/src/main/java/effectivejava/chapter9/item61/BrokenComparator.java similarity index 100% rename from src/effectivejava/chapter9/item61/BrokenComparator.java rename to src/main/java/effectivejava/chapter9/item61/BrokenComparator.java diff --git a/src/effectivejava/chapter9/item61/Unbelievable.java b/src/main/java/effectivejava/chapter9/item61/Unbelievable.java similarity index 100% rename from src/effectivejava/chapter9/item61/Unbelievable.java rename to src/main/java/effectivejava/chapter9/item61/Unbelievable.java diff --git a/src/effectivejava/chapter9/item65/ReflectiveInstantiation.java b/src/main/java/effectivejava/chapter9/item65/ReflectiveInstantiation.java similarity index 100% rename from src/effectivejava/chapter9/item65/ReflectiveInstantiation.java rename to src/main/java/effectivejava/chapter9/item65/ReflectiveInstantiation.java From cb7dd3b5267a70e9183e12593b2bc75a251ca20a Mon Sep 17 00:00:00 2001 From: Deepak Date: Tue, 10 Mar 2020 22:37:36 +0000 Subject: [PATCH 2/4] Created a working gradle project --- .../chapter2/item2/telescopingconstructor/NutritionFacts.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/effectivejava/chapter2/item2/telescopingconstructor/NutritionFacts.java b/src/main/java/effectivejava/chapter2/item2/telescopingconstructor/NutritionFacts.java index 230e33cd..85edb657 100644 --- a/src/main/java/effectivejava/chapter2/item2/telescopingconstructor/NutritionFacts.java +++ b/src/main/java/effectivejava/chapter2/item2/telescopingconstructor/NutritionFacts.java @@ -40,6 +40,7 @@ public NutritionFacts(int servingSize, int servings, public static void main(String[] args) { NutritionFacts cocaCola = new NutritionFacts(240, 8, 100, 0, 35, 27); + System.out.println("DONE!!!!!"); } } \ No newline at end of file From 63751f6d9f2e9fcac714b096d25be09e19ab07ec Mon Sep 17 00:00:00 2001 From: Deepak Date: Tue, 10 Mar 2020 22:39:21 +0000 Subject: [PATCH 3/4] Created a working gradle project --- .gitignore | 74 ++++++++----------------------------------------- README.md | 2 ++ build.gradle | 1 + settings.gradle | 1 + 4 files changed, 15 insertions(+), 63 deletions(-) create mode 100644 build.gradle create mode 100644 settings.gradle diff --git a/.gitignore b/.gitignore index af9c1434..9f817cf8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,65 +1,13 @@ -# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm -# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 - -# I [jjb] added this to ignore emacs autosaves -*~ - -# User-specific stuff -# .idea/**/workspace.xml -# .idea/**/tasks.xml -# .idea/**/usage.statistics.xml -# .idea/**/dictionaries -# .idea/**/shelf +/.gradle/ +/build/ .idea - -# Sensitive or high-churn files -# .idea/**/dataSources/ -# .idea/**/dataSources.ids -# .idea/**/dataSources.local.xml -# .idea/**/sqlDataSources.xml -# .idea/**/dynamic.xml -# .idea/**/uiDesigner.xml -# .idea/**/dbnavigator.xml - -# Gradle -.idea/**/gradle.xml -.idea/**/libraries - -# Gradle and Maven with auto-import -# When using Gradle or Maven with auto-import, you should exclude module files, -# since they will be recreated, and may cause churn. Uncomment if using -# auto-import. -# .idea/modules.xml -# .idea/*.iml -# .idea/modules - -# CMake -cmake-build-*/ - -# Mongo Explorer plugin -# .idea/**/mongoSettings.xml - -# File-based project format -*.iws *.iml - -# IntelliJ -out/ - -# mpeltonen/sbt-idea plugin -.idea_modules/ - -# JIRA plugin -atlassian-ide-plugin.xml - -# Cursive Clojure plugin -# .idea/replstate.xml - -# Crashlytics plugin (for Android Studio and IntelliJ) -com_crashlytics_export_strings.xml -crashlytics.properties -crashlytics-build.properties -fabric.properties - -# Editor-based Rest Client -# .idea/httpRequests +*.store +/classes/ +bookmarks +/logs/ +*.log +*.zip +out +JetFuelView-*.xml +gradle.properties diff --git a/README.md b/README.md index aba26664..0c20d96e 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ # Effective Java, Third Edition ![EJ3e Book Cover](https://www.pearsonhighered.com/assets/bigcovers/0/1/3/4/0134685997.jpg) ## Hot News! Source code finally available on GitHub. Happy Hacking! +Get Jdk 9 from here +https://jdk.java.net/archive/ diff --git a/build.gradle b/build.gradle new file mode 100644 index 00000000..f3eca858 --- /dev/null +++ b/build.gradle @@ -0,0 +1 @@ +apply plugin: 'java' \ No newline at end of file diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 00000000..adbdd785 --- /dev/null +++ b/settings.gradle @@ -0,0 +1 @@ +rootProject.name = 'effective-java' From c2a5da146c9f30fcf1144be9bd89f8d9a384541f Mon Sep 17 00:00:00 2001 From: Deepak Date: Sun, 10 May 2020 15:35:44 +0100 Subject: [PATCH 4/4] Added File to correct package names --- src/main/java/AppPackage.java | 70 +++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 src/main/java/AppPackage.java diff --git a/src/main/java/AppPackage.java b/src/main/java/AppPackage.java new file mode 100644 index 00000000..7b5f1d0e --- /dev/null +++ b/src/main/java/AppPackage.java @@ -0,0 +1,70 @@ +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.util.List; + +public class AppPackage { + + public static void main(String[] args) { + + try { + String path = "/Users/deepakcdo/Documents/MySpace/Dev/corejava/src/main/java/"; + walk((path)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + public static void walk(String path) { + + File root = new File(path); + File[] list = root.listFiles(); + + if (list == null) return; + + for (File f : list) { + if (f.isDirectory()) { + walk(f.getAbsolutePath()); + System.out.println("Dir:" + f.getAbsoluteFile()); + } else { + if (f.getName().endsWith(".java")) { + addPackageToClass(f.getAbsolutePath()); + } + } + } + } + + private static void addPackageToClass(String file) { + try { + List strings = Files.readAllLines( + Paths.get(file)); + String packageName = getPackageName(file); + String firstLine = strings.get(0); + replaceKeyWord("package", strings, firstLine, packageName); +// replaceKeyWord("module", strings, firstLine, packageName); + Files.write(Paths.get(file), strings); + } catch (IOException e) { + e.printStackTrace(); + } + } + + private static void replaceKeyWord(String keyWord, List strings, String firstLine, String packageName){ + if (firstLine.startsWith(keyWord) ){ + strings.remove(0); + strings.add(0, keyWord + " " + packageName + ";" + System.lineSeparator()); + } + } + + private static String getPackageName(String fileName) { + String removeSufix = fileName.replace("/Users/deepakcdo/Documents/MySpace/Dev/corejava/src/main/java/", ""); + String[] split = removeSufix.split("/"); + String returnValue = ""; + for (int i = 0; i < (split.length - 1); i++) { + returnValue = returnValue + split[i] + "."; + } + returnValue = returnValue.substring(0, returnValue.length() - 1); + return returnValue; + + } +}