├── .gitignore ├── CONTRIBUTING.adoc ├── Copyright.adoc ├── Copyright.html ├── DISCLAIMER.txt ├── Jfx-Mac-Readme.html ├── LICENSE.txt ├── Makefile ├── README.adoc ├── Rdemo-web ├── StatsApp │ └── app.R ├── runR └── runStatsApp ├── TODO.txt ├── ai ├── .gitignore ├── README.adoc ├── mystery-image.png ├── pom.xml └── src │ └── main │ └── java │ ├── ai │ └── Constants.java │ ├── chatgpt │ └── ChatGptApiDemo.java │ └── langchain4j │ ├── Converse.java │ ├── LangChain4JContactFinder.java │ ├── LangChain4JImageMaker.java │ ├── LangChain4JOllama.java │ ├── LangChain4JSimplePrompt.java │ └── LangChain4jImageInference.java ├── desktop ├── .classpath ├── .gitignore ├── .project ├── imagedemo.adoc ├── pom.xml └── src │ ├── main │ ├── java │ │ ├── charts │ │ │ └── XChartDemo.java │ │ ├── desktop │ │ │ ├── BrowserCheck.java │ │ │ └── DesktopDemo.java │ │ ├── evals │ │ │ └── EvalServer.java │ │ ├── graphics │ │ │ ├── .gitignore │ │ │ ├── AudioPlay.java │ │ │ ├── ComponentColors.frag │ │ │ ├── CreateAndSaveImage.java │ │ │ ├── Digitizer.java │ │ │ ├── DrawImageDemo.java │ │ │ ├── DrawStringDemo.java │ │ │ ├── DrawStringDemo2.java │ │ │ ├── DropShadow.java │ │ │ ├── FontDemo.java │ │ │ ├── FontDemoLabel.java │ │ │ ├── FontLister.java │ │ │ ├── GetImage.java │ │ │ ├── GfxDemo.java │ │ │ ├── GfxDemo2.java │ │ │ ├── GfxDemoCanvas.java │ │ │ ├── GradientFill.java │ │ │ ├── GraphReader.java │ │ │ ├── Grapher.java │ │ │ ├── Grapher.txt │ │ │ ├── GridImageCanvas.java │ │ │ ├── Grids.java │ │ │ ├── ImageThumbnail.java │ │ │ ├── ImageView.java │ │ │ ├── JMFPlayer.java │ │ │ ├── Kellyag_.ttf │ │ │ ├── Layers.java │ │ │ ├── MediaTrackerDemo.frag │ │ │ ├── MemImage.java │ │ │ ├── MouseDrag.java │ │ │ ├── MouseDragClip.java │ │ │ ├── PaintComponent.java │ │ │ ├── PaintDemo.java │ │ │ ├── PaintMethods.java │ │ │ ├── PixCanvas.java │ │ │ ├── PolygonFill.java │ │ │ ├── ReadWriteImage.java │ │ │ ├── ShowOnAllScreens.java │ │ │ ├── TTFontDemo.java │ │ │ ├── TextFormat.java │ │ │ ├── TexturedText.java │ │ │ ├── TiledImageComponent.java │ │ │ ├── VlcjVideo.java │ │ │ ├── background.gif │ │ │ ├── descr.txt │ │ │ ├── duke.gif │ │ │ ├── policy.txt │ │ │ └── update.frag │ │ ├── gui │ │ │ ├── ActionsDemo.java │ │ │ ├── BordLayDemo.java │ │ │ ├── BordLayDemo2.java │ │ │ ├── BordLayPanel.java │ │ │ ├── ButtonDemo.java │ │ │ ├── ButtonDemo2L.java │ │ │ ├── ButtonDemo2a.java │ │ │ ├── ButtonDemo2b.java │ │ │ ├── ButtonMetadata.java │ │ │ ├── ClipboardDemo.java │ │ │ ├── CompRunner.java │ │ │ ├── ContentPane.java │ │ │ ├── EDTInfo.java │ │ │ ├── ErrorHandler.java │ │ │ ├── ErrorHandlerDemo.java │ │ │ ├── FedexTrack.java │ │ │ ├── FileTree.java │ │ │ ├── FlowLayoutSimple.java │ │ │ ├── FontChooserDemo.java │ │ │ ├── GlassPaneExample.java │ │ │ ├── GoToPage.java │ │ │ ├── GridLayDemo.java │ │ │ ├── HelpDemo.java │ │ │ ├── JColorChooserDemo.java │ │ │ ├── JDialogIssues.java │ │ │ ├── JFileChooserDemo.java │ │ │ ├── JFileFilter.java │ │ │ ├── JFrameDemo.java │ │ │ ├── JFrameDemoMain.java │ │ │ ├── JFrameDemoSafe.java │ │ │ ├── JFrameFlowLayout.java │ │ │ ├── JFrameSimple.java │ │ │ ├── JGoodiesLayoutDemo.java │ │ │ ├── JIFrameDemo.java │ │ │ ├── JLabelHTMLDemo.java │ │ │ ├── JLayerDemo.java │ │ │ ├── JListDemo.java │ │ │ ├── JListModelDemo.java │ │ │ ├── JOptionPaneDemo.java │ │ │ ├── JOptionStringAndComboBox.java │ │ │ ├── JTableSysProps.java │ │ │ ├── JTextAreaDemo.java │ │ │ ├── JTreeDemo.java │ │ │ ├── JTreeSimple.java │ │ │ ├── LNFSwitcher.java │ │ │ ├── LabelText.moved.html │ │ │ ├── ListDemo.java │ │ │ ├── ListenerReuse.java │ │ │ ├── MVC │ │ │ │ ├── MVCDemo.graffle │ │ │ │ ├── MVCDemo.java │ │ │ │ ├── Model.java │ │ │ │ ├── TextView.java │ │ │ │ ├── index.html │ │ │ │ ├── mvc-jbutton.graffle │ │ │ │ └── mvc-viewctl.graffle │ │ │ ├── MVCLoop.java │ │ │ ├── MacOsUiHints.java │ │ │ ├── MenuCascade.java │ │ │ ├── MenuShortcuts.java │ │ │ ├── MoreChoices.java │ │ │ ├── MyCanvas.java │ │ │ ├── MyLabel.java │ │ │ ├── PopupDemo.java │ │ │ ├── ProgressMeterStrmDemo.java │ │ │ ├── RecentFileMenuDemo.java │ │ │ ├── RunOnEdt.java │ │ │ ├── SaveDialog.java │ │ │ ├── Score.java │ │ │ ├── SearchBoxDemo.java │ │ │ ├── SpinnerDemo.java │ │ │ ├── SplashDemo.java │ │ │ ├── StyledText.java │ │ │ ├── SystemTrayDemo.java │ │ │ ├── TabPaneDemo.java │ │ │ ├── TaskbarDemo.java │ │ │ ├── TextAreaWriterDemo.java │ │ │ ├── TextFieldWithClearButton.java │ │ │ ├── ThreadBasedCatcher.java │ │ │ ├── UndoDemo.java │ │ │ ├── Unicode.java │ │ │ ├── UnicodeWidgets.properties │ │ │ ├── Welcome.java │ │ │ ├── WinClose2.java │ │ │ ├── WindowDemo.java │ │ │ ├── WindowDemo2.java │ │ │ ├── arraylisttable │ │ │ │ ├── ArrayListTableDatum.java │ │ │ │ └── ArrayListTableSimple.java │ │ │ ├── cardlayout │ │ │ │ ├── CardLayDemo.java │ │ │ │ ├── CardLayoutSimple.java │ │ │ │ ├── index.html │ │ │ │ ├── loginLogin.gif │ │ │ │ ├── loginPasswd.gif │ │ │ │ └── loginWelcome.gif │ │ │ ├── centre.frag │ │ │ ├── datatransfer │ │ │ │ ├── Dropper.java │ │ │ │ └── Transfer.java │ │ │ ├── descr.txt │ │ │ ├── getImage.frag │ │ │ ├── getSizes.frag │ │ │ ├── helpdemo.htm │ │ │ └── tray.gif │ │ ├── gui_awt │ │ │ ├── ButtonDemo2c.java │ │ │ ├── FileDialogDemo.java │ │ │ ├── FrameDemo.java │ │ │ ├── FrameIcon.gif │ │ │ ├── FrameIcon.java │ │ │ ├── MenuDemo.java │ │ │ └── README.txt │ │ ├── gui_swt │ │ │ ├── ButtonDemo.java │ │ │ ├── MenuDemo.java │ │ │ ├── README.txt │ │ │ └── SWTUtil.java │ │ ├── javacomm │ │ │ ├── CommPortDial.java │ │ │ ├── CommPortLister.java │ │ │ ├── CommPortModem.java │ │ │ ├── CommPortOpen.java │ │ │ ├── CommPortSimple.java │ │ │ ├── CommPortThreaded.java │ │ │ ├── JMModel.java │ │ │ ├── JModem.form │ │ │ ├── JModem.java │ │ │ ├── ParallelPrint.java │ │ │ ├── PortChooser.java │ │ │ ├── PortOwner.java │ │ │ ├── ProtocolBotchException.java │ │ │ ├── SerialLogger.java │ │ │ ├── SerialReadByEvents.java │ │ │ ├── TModem.java │ │ │ ├── index.html │ │ │ ├── javacook.ps │ │ │ ├── javax.comm.txt │ │ │ ├── listfonts.ps │ │ │ └── tmodem.c │ │ ├── javafx │ │ │ ├── AudioPlay.java │ │ │ ├── HelloFx.java │ │ │ └── JfxVideo.java │ │ ├── plotter │ │ │ ├── Penman.java │ │ │ ├── PlotDriver.java │ │ │ ├── Plotter.java │ │ │ ├── PlotterAWT.java │ │ │ ├── PlotterDummy.java │ │ │ └── descr.txt │ │ ├── printjdk11printjob │ │ │ ├── PrintDemo0.java │ │ │ ├── PrintDemo1.java │ │ │ ├── PrintDemoGfx1_1.java │ │ │ └── PrintFile.java │ │ ├── printjdk12printerjob │ │ │ └── PrintDemoGfx.java │ │ └── printjdk14printservice │ │ │ ├── GraphicsToPostScript.java │ │ │ ├── PrintPostScript.java │ │ │ ├── PrintServiceDemo.java │ │ │ └── duke.gif │ └── resources │ │ └── placeholder.txt │ └── test │ ├── java │ ├── graphics │ │ └── GraphReaderTest.java │ └── plotter │ │ └── PlotterTest.java │ └── resources │ └── placeholder.txt ├── ee ├── .classpath ├── .gitignore ├── .project ├── .settings │ └── org.eclipse.jdt.core.prefs ├── LICENSE.txt ├── README.adoc ├── pom.xml ├── scripts │ └── jaxwsdemo └── src │ ├── .cvsignore │ ├── main │ ├── java │ │ ├── domain │ │ │ ├── Duration.java │ │ │ └── Track.java │ │ ├── ejb2 │ │ │ ├── CollectionUse.java │ │ │ ├── LocalBeanRef.xml │ │ │ ├── billing │ │ │ │ ├── Billing.java │ │ │ │ ├── BillingBean.java │ │ │ │ └── BillingHome.java │ │ │ ├── bmp │ │ │ │ ├── Entity.java │ │ │ │ ├── EntityEJB.java │ │ │ │ ├── EntityHome.java │ │ │ │ ├── META-INF │ │ │ │ │ └── ejb-jar.xml │ │ │ │ ├── Recording.java │ │ │ │ └── build.xml │ │ │ ├── build.xml │ │ │ ├── descr.txt │ │ │ ├── hello │ │ │ │ ├── .cvsignore │ │ │ │ ├── Hello.java │ │ │ │ ├── HelloClient.java │ │ │ │ ├── HelloEJB.java │ │ │ │ ├── HelloHome.java │ │ │ │ ├── Makefile │ │ │ │ ├── build.xml │ │ │ │ ├── hello.jar │ │ │ │ ├── metadata │ │ │ │ │ └── ejb-jar.xml │ │ │ │ ├── runclient │ │ │ │ └── runclient.bat │ │ │ ├── interfaces │ │ │ │ ├── META-INF │ │ │ │ │ └── ejb-jar.xml │ │ │ │ └── metadata │ │ │ │ │ └── jndi.properties │ │ │ ├── localinterfaces │ │ │ │ ├── .cvsignore │ │ │ │ ├── MemberBean.java │ │ │ │ ├── MemberLocal.java │ │ │ │ ├── MemberLocalHome.java │ │ │ │ ├── build.xml │ │ │ │ ├── build │ │ │ │ │ └── META-INF │ │ │ │ │ │ └── ejb-jar.xml │ │ │ │ └── ejb-jar.xml │ │ │ ├── musicrecording │ │ │ │ ├── README.html │ │ │ │ ├── beans │ │ │ │ │ ├── META-INF │ │ │ │ │ │ ├── ejb-jar.xml │ │ │ │ │ │ ├── jboss.xml │ │ │ │ │ │ ├── jbosscmp-jdbc.xml │ │ │ │ │ │ ├── weblogic-cmp-rdbms-jar.xml │ │ │ │ │ │ └── weblogic-ejb-jar.xml │ │ │ │ │ ├── MusicBean.java │ │ │ │ │ ├── MusicCategory.java │ │ │ │ │ ├── MusicLocal.java │ │ │ │ │ ├── MusicLocalHome.java │ │ │ │ │ ├── MusicRecordingDO.java │ │ │ │ │ ├── MusicRemote.java │ │ │ │ │ ├── MusicRemoteHome.java │ │ │ │ │ ├── PublisherBean.java │ │ │ │ │ ├── PublisherLocal.java │ │ │ │ │ ├── PublisherLocalHome.java │ │ │ │ │ ├── PublisherRemote.java │ │ │ │ │ ├── PublisherRemoteHome.java │ │ │ │ │ ├── SaleBean.java │ │ │ │ │ ├── SaleLocal.java │ │ │ │ │ ├── SaleLocalHome.java │ │ │ │ │ ├── SaleRemote.java │ │ │ │ │ ├── SaleRemoteHome.java │ │ │ │ │ └── build.xml │ │ │ │ ├── client │ │ │ │ │ ├── Client.java │ │ │ │ │ ├── Populate.java │ │ │ │ │ ├── build.xml │ │ │ │ │ └── jndi.properties │ │ │ │ └── setup.sql │ │ │ └── serverinfo │ │ │ │ ├── README.html │ │ │ │ ├── UserTX.java │ │ │ │ ├── bean │ │ │ │ ├── META-INF │ │ │ │ │ ├── ejb-jar.xml │ │ │ │ │ └── jboss.xml │ │ │ │ ├── ServInfo.java │ │ │ │ ├── ServInfoBean.java │ │ │ │ ├── ServInfoHome.java │ │ │ │ └── build.xml │ │ │ │ ├── client │ │ │ │ ├── Client.java │ │ │ │ ├── build.xml │ │ │ │ ├── jndi.properties │ │ │ │ ├── runclient │ │ │ │ └── runclient.bat │ │ │ │ └── handout.txt │ │ ├── ejb3 │ │ │ ├── CardValidatorLocal.java │ │ │ ├── CardValidatorRemote.java │ │ │ ├── LoggingInterceptor.java │ │ │ ├── StatelessEJB.java │ │ │ └── mk │ │ ├── ejb3bmt │ │ │ ├── BMTDemo.java │ │ │ ├── BMTDemoImpl.java │ │ │ └── LogEntry.java │ │ ├── ejb3client │ │ │ ├── StatelessClient.java │ │ │ ├── jndi.properties │ │ │ └── mk │ │ ├── hibernate │ │ │ ├── BaseDAOHibernateImpl.java │ │ │ ├── DemoDAO.java │ │ │ └── DemoDAODemo.java │ │ ├── jaxrpcservice │ │ │ ├── Calc.java │ │ │ └── README.txt │ │ ├── jaxrsservice │ │ │ ├── InventoryServiceJAXRS.java │ │ │ └── InventoryServletRaw.java │ │ ├── jaxwsclient │ │ │ ├── Add.java │ │ │ ├── AddResponse.java │ │ │ ├── Calc.java │ │ │ ├── CalcService.java │ │ │ ├── ClientMain.java │ │ │ ├── Divide.java │ │ │ ├── DivideResponse.java │ │ │ ├── Multiply.java │ │ │ ├── MultiplyResponse.java │ │ │ ├── ObjectFactory.java │ │ │ ├── Subtract.java │ │ │ ├── SubtractResponse.java │ │ │ ├── TinyClientMain.java │ │ │ ├── client.pl │ │ │ ├── client.py │ │ │ └── package-info.java │ │ ├── jaxwsservice │ │ │ ├── Calc.java │ │ │ └── ServiceMain.java │ │ ├── jms │ │ │ ├── JMSChat.java │ │ │ ├── SimpleConsumer.java │ │ │ ├── SimpleProducer.java │ │ │ └── jmschat │ │ ├── jndi │ │ │ ├── GetDataSource.java │ │ │ ├── TimeJNDI.java │ │ │ └── rmi.properties │ │ ├── jndiprovider │ │ │ ├── FlatNameParser.java │ │ │ ├── Services.java │ │ │ ├── ServicesContextFactory.java │ │ │ ├── ServicesTest.java │ │ │ ├── index.html │ │ │ └── jndi.properties │ │ ├── jpa │ │ │ └── README.txt │ │ ├── jsf │ │ │ ├── ManagedBean.java │ │ │ └── RegexValidator.java │ │ ├── jsp │ │ │ ├── FiveInts.java │ │ │ └── darwin │ │ │ │ ├── Counter.java │ │ │ │ └── PasswordChecker.java │ │ ├── presentation │ │ │ └── ValueListHandler.java │ │ ├── rmi │ │ │ ├── .cvsignore │ │ │ ├── DateClient.java │ │ │ ├── DatePanel.java │ │ │ ├── DateServer.java │ │ │ ├── ListRMI.java │ │ │ ├── NonSerNonRem.java │ │ │ ├── RemoteDate.java │ │ │ ├── RemoteDateImpl.java │ │ │ ├── agent │ │ │ │ ├── .cvsignore │ │ │ │ ├── ClientProgram.java │ │ │ │ ├── ServerMain.java │ │ │ │ ├── agents │ │ │ │ │ ├── Agent.java │ │ │ │ │ └── AgentImpl.java │ │ │ │ ├── build.xml │ │ │ │ ├── runclient │ │ │ │ ├── runserver │ │ │ │ └── servers │ │ │ │ │ ├── RunServer.java │ │ │ │ │ └── RunServerImpl.java │ │ │ ├── build.xml │ │ │ ├── callback │ │ │ │ ├── .cvsignore │ │ │ │ ├── Client.java │ │ │ │ ├── ClientProgram.java │ │ │ │ ├── TickerServer.java │ │ │ │ ├── TickerServerImpl.java │ │ │ │ └── index.html │ │ │ ├── dateserver.policy │ │ │ └── descr.txt │ │ ├── servlet │ │ │ ├── BrokenServlet.java │ │ │ ├── CalEventMaker.htm │ │ │ ├── CalEventMaker.java │ │ │ ├── CodeRed.java │ │ │ ├── ColorCustServlet.java │ │ │ ├── ColorCustomize.html │ │ │ ├── CookieServlet.java │ │ │ ├── FiveIntsServlet.java │ │ │ ├── ForwardException.java │ │ │ ├── HelloServlet.java │ │ │ ├── HelloServletMinimal.java │ │ │ ├── HttpSessionInfoServlet.java │ │ │ ├── InitParams.java │ │ │ ├── IntsServlet.htm │ │ │ ├── IntsServlet.java │ │ │ ├── ListParametersForm.html │ │ │ ├── ListParametersServlet.java │ │ │ ├── MultipartResponseDemoServlet.java │ │ │ ├── MyRequest.java │ │ │ ├── MyResponse.java │ │ │ ├── OrderServlet.htm │ │ │ ├── OrderServlet.java │ │ │ ├── RawSQLServlet.java │ │ │ ├── RebootServlet.java │ │ │ ├── Term.java │ │ │ ├── TermsAccessor.java │ │ │ ├── TermsServlet.java │ │ │ ├── TermsServletPDF.java │ │ │ ├── UploadServlet.java │ │ │ ├── chartservlet │ │ │ │ ├── ChartServlet.java │ │ │ │ └── chartservlet.html │ │ │ ├── chatservlet │ │ │ │ ├── .cvsignore │ │ │ │ ├── ChatConstants.java │ │ │ │ ├── ChatListener.java │ │ │ │ ├── ChatServlet.java │ │ │ │ ├── ChatState.java │ │ │ │ ├── UserState.java │ │ │ │ ├── WEB-INF │ │ │ │ │ └── web.xml │ │ │ │ ├── chat.jsp │ │ │ │ ├── index.jsp │ │ │ │ └── stylesheet.css │ │ │ ├── classpath.txt │ │ │ ├── descr.txt │ │ │ ├── pdfcouponservlet │ │ │ │ ├── PDFCouponServlet.java │ │ │ │ ├── WEB-INF │ │ │ │ │ ├── lib │ │ │ │ │ │ └── spdf.jar │ │ │ │ │ └── web.xml │ │ │ │ └── index.html │ │ │ └── upload.html │ │ ├── websvcdemo │ │ │ ├── CallSoap.java │ │ │ ├── ReallyRawClient.java │ │ │ ├── SAAJServlet.java │ │ │ └── SendSoap.java │ │ └── websvcutil │ │ │ ├── DateUtil.java │ │ │ └── URLUtil.java │ ├── resources │ │ ├── jndi.properties │ │ └── persistence.xml │ └── webapp │ │ ├── CalendarPage.jsp │ │ ├── FiveInts.jsp │ │ ├── FontSizes.jsp │ │ ├── WEB-INF │ │ ├── jboss-web.xml │ │ └── web.xml │ │ ├── counter.jsp │ │ ├── demo.txt │ │ ├── forceerror.jsp │ │ ├── hello-rtf.jsp │ │ ├── hello-wml.jsp │ │ ├── hello-xml.jsp │ │ ├── hello.jsp │ │ ├── hellominimal.jsp │ │ ├── index.jsp │ │ ├── inventory.jsp │ │ ├── jspIncludeASP.jsp │ │ ├── login.jsp │ │ ├── oops.jsp │ │ ├── passwordchecker.html │ │ ├── pwd.jsp │ │ ├── testinclude.jsp │ │ ├── threetypes.jsp │ │ └── wherebeanslive.jsp │ └── test │ └── java │ ├── jaxwsclient │ └── CalcIntegTest.java │ ├── jaxwsservice │ └── CalcUnitTest.java │ ├── presentation │ └── ValueListHandlerTest.java │ ├── servlet │ └── TermsAccessorTest.java │ └── websvcregress │ ├── DateUtilTest.java │ └── URLUtilTest.java ├── graal ├── .gitignore ├── README.adoc ├── pom.xml └── src │ └── main │ └── java │ ├── graaldemo │ ├── JavaCallJS.java │ └── JavaCallPython.java │ └── module-info.java ├── gradledemo ├── .gitattributes ├── .gitignore ├── README.adoc ├── app │ ├── build.gradle │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── gradledemo │ │ │ └── App.java │ │ └── test │ │ └── java │ │ └── com │ │ └── example │ │ └── gradledemo │ │ └── AppTest.java ├── gradle.properties └── settings.gradle ├── images ├── macbuildpath1.png └── macbuildpath2.png ├── incubation ├── .gitignore ├── README.adoc ├── pom.xml └── src │ └── main │ └── java │ ├── module-info.java │ └── numbers │ └── VectorOps.java ├── index-bychapter.html ├── index-byname.html ├── index.html ├── javafx ├── .gitignore ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── darwinsys │ └── javafx │ └── ListDetail.java ├── jlink ├── .gitignore ├── README.adoc ├── mkbat ├── run ├── run.bat └── src │ ├── Hello.java │ └── module-info.java ├── json ├── .gitignore ├── pom.xml └── src │ └── main │ ├── java │ ├── domain │ │ ├── Person.java │ │ └── SoftwareInfo.java │ └── json │ │ ├── JsonPointerDemo.java │ │ ├── LocalDateToJsonManually.java │ │ ├── ReadWriteJackson.java │ │ ├── ReadWriteJsonB.java │ │ ├── SoftwareParseJackson.java │ │ ├── SoftwareParseOrgJson.java │ │ ├── WriteOrgJson.java │ │ └── crashBurnExample.json │ └── resources │ ├── json │ └── softwareinfo.json │ └── placeholder.txt ├── lombokdemo ├── .classpath ├── .gitignore ├── .project ├── pom.xml ├── run └── src │ ├── main │ ├── java │ │ └── demo │ │ │ └── LombokDemo.java │ └── resources │ │ └── placeholder.txt │ └── test │ ├── java │ └── demo │ │ └── LombokDemoTest.java │ └── resources │ └── placeholder.txt ├── main ├── .classpath ├── .gitignore ├── .project ├── Makefile ├── README.adoc ├── excludes.xml ├── fixexcludes.awk ├── lines.txt ├── pom.xml ├── scripts │ ├── r-simple-demo │ └── run-random-histo └── src │ ├── main │ ├── buildtools │ │ └── build.gradle │ ├── c │ │ └── rounding.c │ ├── java │ │ ├── acks │ │ │ ├── 471Acks.dat │ │ │ ├── 478Acks.dat │ │ │ └── Acks.java │ │ ├── apachelogfile.txt │ │ ├── beans │ │ │ ├── BSFAction.java │ │ │ ├── BSFSample.java │ │ │ ├── CodeBean.java │ │ │ ├── buttonhandler.py │ │ │ └── manifest.stub │ │ ├── chartbean │ │ │ ├── ChartBean.java │ │ │ ├── ChartBeanInfo.java │ │ │ ├── ChartData.java │ │ │ ├── ChartDemo.java │ │ │ ├── descr.txt │ │ │ └── manifest.stub │ │ ├── chat │ │ │ ├── ChatClient.java │ │ │ ├── ChatProtocol.java │ │ │ ├── ChatServer.java │ │ │ ├── ConsoleChatClient.java │ │ │ └── TODO.txt │ │ ├── classfileapi │ │ │ ├── ClassFileAPIDemo.java │ │ │ └── CreateLoadAndRun.java │ │ ├── classloader │ │ │ ├── ClassFileToBytes.java │ │ │ ├── Demo.java │ │ │ └── descr.txt │ │ ├── com │ │ │ └── darwinsys │ │ │ │ └── ianstuff │ │ │ │ ├── X.java │ │ │ │ └── Y.java │ │ ├── database │ │ │ ├── JDAdmin.java │ │ │ ├── JDConstants.java │ │ │ ├── NeverConcatenate.java │ │ │ ├── TextToDBM.java │ │ │ ├── TextToJDBC.java │ │ │ ├── UserDB.java │ │ │ ├── UserDBDBM.java │ │ │ ├── UserDBDemo.java │ │ │ ├── UserDBJDBC.java │ │ │ ├── UserDBText.java │ │ │ └── UserQuery.java │ │ ├── datetime │ │ │ ├── CurrentDateTime.java │ │ │ ├── DateAdd.java │ │ │ ├── DateCalculations.java │ │ │ ├── DateConversions.java │ │ │ ├── DateDiff.java │ │ │ ├── DateParse.java │ │ │ ├── DateSimple.java │ │ │ ├── DateTimeFormatterDemo.java │ │ │ ├── DateTimeFormatterLM.java │ │ │ ├── DateTimeFormatterLocalized.java │ │ │ ├── DateTimeFormatterNewLocale.java │ │ │ ├── DateUntil.java │ │ │ ├── Easter.java │ │ │ ├── EndOfTime64Msec.java │ │ │ ├── EpochStuff.java │ │ │ ├── FlightArrivalTimeCalc.java │ │ │ ├── Hastings.java │ │ │ ├── LegacyDates.java │ │ │ ├── LegacyDatesDIY.java │ │ │ ├── MeetingDates.java │ │ │ ├── ScheduleSlider.java │ │ │ ├── TestableDateTime.java │ │ │ ├── TimeTranslate.java │ │ │ ├── WeekDaysLeft.java │ │ │ └── WeekOfYear.java │ │ ├── datetimeold │ │ │ ├── Cal.java │ │ │ ├── CalCalcs.java │ │ │ ├── CalPanel.java │ │ │ ├── CalUtils.java │ │ │ ├── CalendarDemo.java │ │ │ ├── CalendarPage.java │ │ │ ├── ClockPanel.java │ │ │ ├── CompareDates.java │ │ │ ├── CompareFileDates.java │ │ │ ├── Date0.java │ │ │ ├── Date1.java │ │ │ ├── Date2.java │ │ │ ├── DateAdd.java │ │ │ ├── DateCalAdd.java │ │ │ ├── DateDemo.java │ │ │ ├── DateDiff.java │ │ │ ├── DateFormatBest.java │ │ │ ├── DateFormatFile.java │ │ │ ├── DateParse1.java │ │ │ ├── DateParse2.java │ │ │ ├── DatePrint1.java │ │ │ ├── DatePrint2.java │ │ │ ├── DateUse.java │ │ │ ├── DayOfYear.java │ │ │ ├── DayWeek.java │ │ │ ├── Easter.java │ │ │ ├── GetMonthNames.java │ │ │ ├── GregCalDemo.java │ │ │ ├── ISODate.java │ │ │ ├── LongToMSec.java │ │ │ ├── QuickTimeFormat.java │ │ │ ├── README.txt │ │ │ ├── Reminder.java │ │ │ ├── TimeComputation.java │ │ │ ├── Timer.c │ │ │ ├── Timer0.java │ │ │ ├── Y2038.java │ │ │ └── descr.txt │ │ ├── dbm │ │ │ ├── DBM.java │ │ │ ├── Makefile │ │ │ ├── ReadHistNS.java │ │ │ ├── descr.txt │ │ │ ├── jdbm.c │ │ │ └── try.c │ │ ├── di │ │ │ ├── ControllerTightlyCoupled.java │ │ │ ├── Model.java │ │ │ ├── View.java │ │ │ ├── cdi │ │ │ │ ├── ConsoleViewer.java │ │ │ │ ├── MainAndController.java │ │ │ │ ├── ModelImpl.java │ │ │ │ └── MyModel.java │ │ │ └── spring │ │ │ │ ├── ConsoleViewer.java │ │ │ │ ├── MainAndController.java │ │ │ │ ├── SimpleModel.java │ │ │ │ ├── SpringModel.java │ │ │ │ └── SwingViewer.java │ │ ├── di0 │ │ │ ├── ConsoleReporter.java │ │ │ ├── Process.java │ │ │ ├── Processor.java │ │ │ ├── Reporter.java │ │ │ ├── SpringBeanConfig.java │ │ │ └── SpringMain.java │ │ ├── diary │ │ │ ├── Diary.java │ │ │ └── DiaryMenus.properties │ │ ├── dir_file │ │ │ ├── CheckFiles.java │ │ │ ├── Creat.java │ │ │ ├── Delete.java │ │ │ ├── Delete2.java │ │ │ ├── DirTree.java │ │ │ ├── FNFilter.java │ │ │ ├── FNFilter2.java │ │ │ ├── FNFilterL.java │ │ │ ├── FileStatus.java │ │ │ ├── Find.java │ │ │ ├── FindFilter.java │ │ │ ├── FindNumFilter.java │ │ │ ├── FindStream.java │ │ │ ├── KillFilesByName.java │ │ │ ├── ListRoots.java │ │ │ ├── Ls.java │ │ │ ├── MkDirExamples.java │ │ │ ├── PathDemo.java │ │ │ ├── PathsFilesDemo.java │ │ │ ├── PosixFilePermissionsViewDemo.java │ │ │ ├── ReadOnly.java │ │ │ ├── Rename.java │ │ │ ├── TempFiles.java │ │ │ ├── WalkTreeDemo.java │ │ │ ├── descr.txt │ │ │ └── filelist.txt │ │ ├── domain │ │ │ ├── Address.java │ │ │ ├── Person.java │ │ │ └── User.java │ │ ├── email │ │ │ ├── Alias.java │ │ │ ├── AliasBean.java │ │ │ ├── AliasBeanDemo.java │ │ │ ├── BatchMailer.java │ │ │ ├── CheckOpenMailRelay.java │ │ │ ├── CheckOpenMailRelayGui.java │ │ │ ├── CustMailer.java │ │ │ ├── DropReceivedLines.java │ │ │ ├── FolderNode.java │ │ │ ├── Header.java │ │ │ ├── MailClient.java │ │ │ ├── MailClient.properties │ │ │ ├── MailClient.properties.public │ │ │ ├── MailComposeBean.java │ │ │ ├── MailComposeFrame.java │ │ │ ├── MailConstants.java │ │ │ ├── MailLister.java │ │ │ ├── MailReaderBean.java │ │ │ ├── MessageNode.java │ │ │ ├── MimeHandler.java │ │ │ ├── RawSender.java │ │ │ ├── ReadHeaders.java │ │ │ ├── SMTPException.java │ │ │ ├── SendMime.java │ │ │ ├── Sender.java │ │ │ ├── Sender2.java │ │ │ ├── SmtpTalk.java │ │ │ ├── SysExits.java │ │ │ ├── TODO.txt │ │ │ ├── classpath.txt │ │ │ ├── custlist.txt │ │ │ ├── descr.txt │ │ │ ├── do_not_spam.txt │ │ │ ├── email.html │ │ │ ├── javamail.providers │ │ │ └── template.txt │ │ ├── employee-data.txt │ │ ├── environ │ │ │ ├── CommonsCliDemo.java │ │ │ ├── GetEnv.java │ │ │ ├── GetOptDemo.java │ │ │ ├── GetOptDemoNew.java │ │ │ ├── GetOptParseArgsDemo.java │ │ │ ├── GetOptSimple.java │ │ │ ├── GetVersion.java │ │ │ ├── PrintClassPath.java │ │ │ ├── SysPropDemo.java │ │ │ ├── SysPropSet.java │ │ │ └── descr.txt │ │ ├── evals │ │ │ ├── DailyEval.java │ │ │ ├── DailyEvalThanks.html │ │ │ ├── DupEvalException.java │ │ │ ├── EvalClient.java │ │ │ ├── EvalServlet.html │ │ │ ├── EvalServlet.java │ │ │ ├── Evaluation.java │ │ │ ├── Grapher.java │ │ │ ├── NetEvalInfo.java │ │ │ ├── NetEvaluation.java │ │ │ └── README.txt │ │ ├── ffi │ │ │ ├── .gitignore │ │ │ ├── CallCFromJava.java │ │ │ ├── Makefile │ │ │ └── hello-ffi.c │ │ ├── functional │ │ │ ├── Camera.java │ │ │ ├── CameraAcceptor.java │ │ │ ├── CameraMake.java │ │ │ ├── CameraSearchCameraAcceptor.java │ │ │ ├── CameraSearchParallelStream.java │ │ │ ├── CameraSearchPredicate.java │ │ │ ├── CameraSensor.java │ │ │ ├── CameraType.java │ │ │ ├── CameraUtils.java │ │ │ ├── ChooseYourMethod.java │ │ │ ├── ConstrMethodRef.java │ │ │ ├── FlowDemo.java │ │ │ ├── LambdasInAction.java │ │ │ ├── LambdasWithOverloading.java │ │ │ ├── LineCount.java │ │ │ ├── MapMultiDemo.java │ │ │ ├── MyDemo.java │ │ │ ├── MyIlcPriceAcceptor.java │ │ │ ├── ParallelStreamDemo.java │ │ │ ├── ProcessIntsFunctional.java │ │ │ ├── ProcessIntsIntUnaryOperator.java │ │ │ ├── ProcessIntsUsingFunctional.java │ │ │ ├── ReferencesDemo.java │ │ │ ├── ReferencesDemo2.java │ │ │ ├── ReferencesDemo3.java │ │ │ ├── ReferencesDemo4.java │ │ │ ├── ReturnLambda.java │ │ │ ├── SimpleCollectorsGroupingBy.java │ │ │ ├── SimpleStreamDemo.java │ │ │ ├── SpliteratorDemo.java │ │ │ ├── StreamBuild.java │ │ │ ├── StreamGathererCustom.java │ │ │ ├── StreamGathererDemo.java │ │ │ ├── StreamGathererScanDemo.java │ │ │ ├── StreamGenerate.java │ │ │ ├── TeeCollectorDemo.java │ │ │ ├── UnixPipesFiltersReplacement.java │ │ │ ├── WordFreq.java │ │ │ ├── WordFreq2.java │ │ │ └── country_codes.txt │ │ ├── functional_med │ │ │ ├── FPMedDemo.java │ │ │ ├── data │ │ │ │ ├── MockData.java │ │ │ │ ├── ReadingAcceptor.java │ │ │ │ └── ReadingDaoSketch.java │ │ │ └── model │ │ │ │ ├── Reading.java │ │ │ │ └── ReadingType.java │ │ ├── games │ │ │ └── TwistyPassages.java │ │ ├── gc │ │ │ └── WeakReferenceDemo.java │ │ ├── i18n │ │ │ ├── BusCard.java │ │ │ ├── BusCard.properties │ │ │ ├── DefaultLocale.java │ │ │ ├── EnumIntl.java │ │ │ ├── I18NDemo.java │ │ │ ├── JOptionDemo.java │ │ │ ├── JiltBefore.java │ │ │ ├── ListLocales.java │ │ │ ├── MenuIntl.java │ │ │ ├── MenuIntl2.java │ │ │ ├── MessageFormatDemo.java │ │ │ ├── MessageFormatDemoIntl.java │ │ │ ├── OneButton.java │ │ │ ├── SetLocale.java │ │ │ ├── ShowDate.java │ │ │ ├── UseDefaultLocale.java │ │ │ ├── UseLocales.java │ │ │ ├── descr.txt │ │ │ └── jiltdemo.prj │ │ ├── images │ │ │ ├── coffeecup.png │ │ │ ├── face.gif │ │ │ ├── javacook.jpg │ │ │ ├── logo.gif │ │ │ ├── logo.png │ │ │ ├── lucene-power.gif │ │ │ ├── openbsdpower.gif │ │ │ ├── sitelogo.png │ │ │ └── tomcat-power.gif │ │ ├── index-of-directories.txt │ │ ├── io │ │ │ ├── AisNotA.java │ │ │ ├── AppendFile.java │ │ │ ├── BadNewline.java │ │ │ ├── CalcToken.java │ │ │ ├── CatFile.java │ │ │ ├── CatStdin.java │ │ │ ├── CharMode.java │ │ │ ├── ConsoleRead.java │ │ │ ├── ContLineReader.java │ │ │ ├── DiskFree.java │ │ │ ├── EscapeContLineReader.java │ │ │ ├── FileDupFinder.java │ │ │ ├── FilesInfos.java │ │ │ ├── FillDisk.java │ │ │ ├── FormatterDates.java │ │ │ ├── FormatterDemo.java │ │ │ ├── FortranLineReader.java │ │ │ ├── GetMark.java │ │ │ ├── GetResourceDemo.java │ │ │ ├── GoodNewline.java │ │ │ ├── IndentContLineReader.java │ │ │ ├── ListCharSets.java │ │ │ ├── MyData.java │ │ │ ├── OpenFileByName.java │ │ │ ├── PipedIO.java │ │ │ ├── PrintFile.java │ │ │ ├── PrintOut15.java │ │ │ ├── PrintStandardOutput.java │ │ │ ├── PrintfDemo.java │ │ │ ├── PrintfPrecision.java │ │ │ ├── ReadCharsOneAtATime.java │ │ │ ├── ReadFileIntoLinesStream.java │ │ │ ├── ReadFileIntoString.java │ │ │ ├── ReadGZIP.java │ │ │ ├── ReadLines.java │ │ │ ├── ReadPassword.java │ │ │ ├── ReadRandom.java │ │ │ ├── ReadStdin.java │ │ │ ├── ReadStdinInt.java │ │ │ ├── ReadStdinInt15.java │ │ │ ├── ReadStdinIntsFunctional.java │ │ │ ├── ReadWithCare_CharsAreUnsigned.java │ │ │ ├── Redirect.java │ │ │ ├── ScanStreamTok.java │ │ │ ├── ScanStringTok.java │ │ │ ├── ScannerDemo.java │ │ │ ├── SerialDemoAbstractBase.java │ │ │ ├── SerialDemoObjectStream.java │ │ │ ├── SerialDemoXML.java │ │ │ ├── SerialTolerantReader.java │ │ │ ├── SimpleCalcScanner.java │ │ │ ├── SimpleCalcStreamTok.java │ │ │ ├── SimpleCalcTest.txt │ │ │ ├── SpamRat.java │ │ │ ├── SpamRatInfo.properties │ │ │ ├── Stdout.java │ │ │ ├── Strings.java │ │ │ ├── TeePrintStream.java │ │ │ ├── UnZip.java │ │ │ ├── UseConverters.java │ │ │ ├── Vis.java │ │ │ ├── WriteBinary.java │ │ │ ├── WriteRandom.c │ │ │ ├── WriteZipFile.java │ │ │ ├── Zip.java │ │ │ ├── descr.txt │ │ │ ├── myconfig.properties │ │ │ └── package.jdo │ │ ├── jaas │ │ │ ├── JaasDemo.java │ │ │ ├── loginconfig.txt │ │ │ └── permissions.txt │ │ ├── javadoc │ │ │ ├── JavadocDemo.java │ │ │ ├── JavadocMdDemo.java │ │ │ ├── package.html │ │ │ └── snippet-files │ │ │ │ └── snyde_comment.py │ │ ├── jce │ │ │ └── JceSimpledemo.java │ │ ├── jdbc │ │ │ ├── BigTrans.java │ │ │ ├── CachedRowSetDemo.java │ │ │ ├── Connect.java │ │ │ ├── ConnectionMetaDemo.java │ │ │ ├── DatabaseMetaDemo.java │ │ │ ├── InsertRowBug.java │ │ │ ├── JDBCQuery.java │ │ │ ├── ListTables.java │ │ │ ├── LoadDriver.java │ │ │ ├── ManualTransactionCommit.java │ │ │ ├── MigrateData.java │ │ │ ├── PreparedStatementDemo.java │ │ │ ├── RegisterDemo.java │ │ │ ├── ResultSetUpdate.java │ │ │ ├── ShowBatch.java │ │ │ ├── ShowTable.java │ │ │ ├── StoredProcedureDemo.java │ │ │ ├── TXInfo.java │ │ │ ├── TryResourceClose.java │ │ │ ├── TypeMapDemo.java │ │ │ ├── checkfordatasource │ │ │ │ └── CheckForDataSource.java │ │ │ ├── createStoredProcedure.sql │ │ │ ├── datasource │ │ │ │ ├── DarwinsDataDelivery.java │ │ │ │ ├── DarwinsDataLookup.java │ │ │ │ ├── DarwinsDataSource.java │ │ │ │ └── index.html │ │ │ ├── db.properties │ │ │ ├── descr.txt │ │ │ ├── rawsql.html │ │ │ └── sqlrunner │ │ ├── jmx │ │ │ ├── JMXDemo.java │ │ │ ├── Monitoring.java │ │ │ ├── MyController.java │ │ │ └── MyControllerMBean.java │ │ ├── jndi │ │ │ ├── JNDIData.java │ │ │ ├── JNDILookup.java │ │ │ ├── JNDIPublish.java │ │ │ ├── ListJavaComp.java │ │ │ ├── LookupFile.java │ │ │ ├── descr.txt │ │ │ ├── jndi.jboss │ │ │ ├── jndi.properties │ │ │ ├── jndi.rmi │ │ │ └── jndi.weblogic │ │ ├── jni │ │ │ ├── .gitignore │ │ │ ├── HelloJni.c │ │ │ ├── HelloJni.java │ │ │ ├── Makefile │ │ │ ├── NativeDemo.java │ │ │ ├── index.html │ │ │ └── javafromc.c │ │ ├── lang │ │ │ ├── AbstractStatic.java │ │ │ ├── AddException.java │ │ │ ├── AllShallRun.java │ │ │ ├── AndOp.java │ │ │ ├── AnnotationDemo.java │ │ │ ├── AnnotationOverrideDemo.java │ │ │ ├── ArgvNumber.java │ │ │ ├── Array2D.java │ │ │ ├── ArrayArgs.java │ │ │ ├── ArrayEqualsWorks.java │ │ │ ├── ArrayIsIterable.java │ │ │ ├── ArraySimple.java │ │ │ ├── Bad.java │ │ │ ├── BooleanAndOr.java │ │ │ ├── BuiltinTypes.java │ │ │ ├── ByteAdd.java │ │ │ ├── ByteAdd2.java │ │ │ ├── CastingDemo.java │ │ │ ├── CatchAndRetryCalc.java │ │ │ ├── ChangeArrayLength.java │ │ │ ├── ChangeClassPath.java │ │ │ ├── CharIsInt.java │ │ │ ├── ClassCast.java │ │ │ ├── CommentBug.java │ │ │ ├── CompileError.java │ │ │ ├── ConsRecurs.java │ │ │ ├── ConstrException.java │ │ │ ├── Constructors.java │ │ │ ├── DoWhile.java │ │ │ ├── DoubleOverflow.java │ │ │ ├── EnforceRunWithEnableAssert.java │ │ │ ├── EnumToString.java │ │ │ ├── EuroLanguage.java │ │ │ ├── ExceptionDemo.java │ │ │ ├── ExceptionDemo2.java │ │ │ ├── ExceptionTranslation.java │ │ │ ├── FinalArgs.java │ │ │ ├── FinalArraysNotReallyFinal.java │ │ │ ├── Finally.java │ │ │ ├── ForLoop.java │ │ │ ├── FtoD.java │ │ │ ├── GenericMethodReturn.java │ │ │ ├── GetSerialVersionUID.java │ │ │ ├── HappensBefore.java │ │ │ ├── HexNeg.java │ │ │ ├── IfSpeed.java │ │ │ ├── ImportConflict.java │ │ │ ├── InheritAnnotations.java │ │ │ ├── InheritConstructor.java │ │ │ ├── InheritSatisfiesImplements.java │ │ │ ├── InheritStatics.java │ │ │ ├── InitializersDemo.java │ │ │ ├── InnerChild.java │ │ │ ├── InnerClass1.java │ │ │ ├── InnerClass2.java │ │ │ ├── InnerClass3.java │ │ │ ├── InnerMethods.java │ │ │ ├── InnerWithConstrArgs.java │ │ │ ├── InstanceofNull.java │ │ │ ├── IntFloatLossy.java │ │ │ ├── IntegerOverflowAddition.java │ │ │ ├── IntegerOverflowIncrement.java │ │ │ ├── InterfaceCanContainMethods.java │ │ │ ├── InterfaceConflicts.java │ │ │ ├── InterfaceInherit.java │ │ │ ├── InterfaceNoConstructor.java │ │ │ ├── InterfaceWithoutAllThrows.java │ │ │ ├── InvokeMain.java │ │ │ ├── Jensen.java │ │ │ ├── LengthOf.java │ │ │ ├── Locals.java │ │ │ ├── LoopLocal.java │ │ │ ├── Loops.java │ │ │ ├── MainNotSpecial.java │ │ │ ├── MethodAndField.java │ │ │ ├── MixinsDemo.java │ │ │ ├── ModuleKeywordsInClass.java │ │ │ ├── MultInterfaces.java │ │ │ ├── MultiCatch.java │ │ │ ├── MultiSuperInterfaces.java │ │ │ ├── MyToyAnnotation.java │ │ │ ├── NestMates.java │ │ │ ├── NestMatesReflection.java │ │ │ ├── NestedClassStatic.java │ │ │ ├── NestedClasses.java │ │ │ ├── NeverBuryExceptions.java │ │ │ ├── NoLocalStatics.java │ │ │ ├── NullStaticMethod.java │ │ │ ├── NullStaticMethod2.java │ │ │ ├── NumericLiterals7.java │ │ │ ├── OverLoad.java │ │ │ ├── OverLoadReturn.java │ │ │ ├── OverRide.java │ │ │ ├── Overall.java │ │ │ ├── OverloadIntVsPrimitive.java │ │ │ ├── OverrideField.java │ │ │ ├── OverrideMethod.java │ │ │ ├── PartialImplements.java │ │ │ ├── PatternMatchingString.java │ │ │ ├── PatternRecordDestruction.java │ │ │ ├── PrePostIncrDecr.java │ │ │ ├── PrivProt.java │ │ │ ├── Protected.java │ │ │ ├── Protected2.java │ │ │ ├── ProtectedClass.java │ │ │ ├── RefValues.java │ │ │ ├── ReinventedStringFunctions.java │ │ │ ├── ReturnInFinallyIsBad.java │ │ │ ├── ReturnMultiInObject.java │ │ │ ├── ReturnType.java │ │ │ ├── Shifting.java │ │ │ ├── ShortsVsInts.java │ │ │ ├── ShowInitializers.java │ │ │ ├── ShowToString.java │ │ │ ├── SpanishChars.java │ │ │ ├── StackTrace.java │ │ │ ├── StaticIniDemo.java │ │ │ ├── StaticLoadProperties.java │ │ │ ├── Switch.java │ │ │ ├── SwitchByte.java │ │ │ ├── SwitchExpression.java │ │ │ ├── SwitchOnString.java │ │ │ ├── SwitchPatternDemo.javax │ │ │ ├── SwitchYieldsValue.java │ │ │ ├── ThisIsFunctional.java │ │ │ ├── ThrowFromFieldInitializer.java │ │ │ ├── ThrowsUnchecked.java │ │ │ ├── Timer.java │ │ │ ├── ToString.java │ │ │ ├── TryStealingInnerClass.java │ │ │ ├── TryWithResource.java │ │ │ ├── TwoStrings.java │ │ │ ├── TypesafeEnum.java │ │ │ ├── UsePackage.java │ │ │ ├── UseThis.java │ │ │ ├── VarArgsDemo.java │ │ │ ├── VarDecls.java │ │ │ ├── Visibility.java │ │ │ ├── WeirdMethod.java │ │ │ ├── descr.txt │ │ │ ├── loops │ │ │ │ ├── LoopFor.java │ │ │ │ ├── LoopWhile.java │ │ │ │ ├── index.html │ │ │ │ └── loopByteCode.sh │ │ │ └── nestmatesdemo │ │ ├── linuxj │ │ │ ├── ButtonDemo1.java │ │ │ ├── ButtonDemo2.java │ │ │ ├── ButtonDemo3.java │ │ │ ├── FileTree.java │ │ │ └── index.html │ │ ├── logging │ │ │ ├── JulLambdaDemo.java │ │ │ ├── JulLogDemo.java │ │ │ ├── JulLogDemo2.java │ │ │ ├── JulLogFormatter.java │ │ │ ├── JulLogInitializer.java │ │ │ ├── Log4JDemo.java │ │ │ ├── Log4JDemo2.java │ │ │ ├── Log4JLambda.java │ │ │ ├── NetLog.java │ │ │ ├── NetLogServer.java │ │ │ ├── NetLogSimple.java │ │ │ ├── Slf4jDemo.java │ │ │ ├── Slf4jDemo2.java │ │ │ ├── juldemos │ │ │ ├── log4j2-network.properties │ │ │ ├── log4j2.properties │ │ │ ├── log4j2demos │ │ │ └── netdemos │ │ ├── misc │ │ │ └── MyDate.java │ │ ├── module-info.txt │ │ ├── netwatch │ │ │ ├── LEGAL.NOTICE │ │ │ ├── NetFrame.java │ │ │ ├── NetPanel.java │ │ │ ├── NetWatch.java │ │ │ ├── NetWatch.properties │ │ │ ├── ProtoDialog.java │ │ │ ├── RMIPanel.java │ │ │ ├── TODO.txt │ │ │ └── run │ │ ├── netweb │ │ │ ├── .cvsignore │ │ │ ├── Browser0.java │ │ │ ├── Browser1.java │ │ │ ├── Element.java │ │ │ ├── FileToURL.java │ │ │ ├── GetResource.java │ │ │ ├── GetURLs.java │ │ │ ├── HttpClientDemo.java │ │ │ ├── HttpDemo.java │ │ │ ├── ImageIndex.java │ │ │ ├── ImageIndex.properties │ │ │ ├── LinkChecker.java │ │ │ ├── MkIndex.java │ │ │ ├── PostQuery.java │ │ │ ├── ReadTag.java │ │ │ ├── ReadTag.txt │ │ │ ├── RestClientURLDemo.java │ │ │ ├── SimpleServerDemo.java │ │ │ ├── SimpleServerDemo2.java │ │ │ ├── TestDirForMkIndex │ │ │ │ ├── Foo.java │ │ │ │ └── descr.txt │ │ │ ├── TextBrowser.java │ │ │ ├── TextBrowser.txt │ │ │ ├── URIDemo.java │ │ │ ├── URLConnectionDemo.java │ │ │ ├── URLDemo.java │ │ │ ├── Weather.java │ │ │ ├── apisearch.html │ │ │ ├── browser1demo.html │ │ │ ├── captions.txt │ │ │ └── descr.txt │ │ ├── network │ │ │ ├── Connect.c │ │ │ ├── ConnectFriendly.java │ │ │ ├── ConnectSimple.java │ │ │ ├── DaytimeObject.java │ │ │ ├── DaytimeObjectServer.java │ │ │ ├── DaytimeServer.java │ │ │ ├── DaytimeText.java │ │ │ ├── DaytimeUDP.java │ │ │ ├── EchoClient.java │ │ │ ├── EchoClientOneLine.java │ │ │ ├── EchoGui.java │ │ │ ├── EchoServer.java │ │ │ ├── EchoServerThreaded.java │ │ │ ├── ErrorReporting.java │ │ │ ├── Finger.java │ │ │ ├── Inet6Demo.java │ │ │ ├── InetAddrDemo.java │ │ │ ├── JSSEWebServer0.java │ │ │ ├── LPDTalk.java │ │ │ ├── Listen.java │ │ │ ├── ListenInside.java │ │ │ ├── NetworkInterfaceDemo.java │ │ │ ├── PortScan.java │ │ │ ├── Probe.java │ │ │ ├── README.adoc │ │ │ ├── RemCat.c │ │ │ ├── RemCat.java │ │ │ ├── Telnet.java │ │ │ ├── ThreadedWebServer.java │ │ │ ├── TimeClient.java │ │ │ ├── TimeWebServer.java │ │ │ ├── UnixDomainSocketClient.java │ │ │ ├── UnixDomainSocketServer.java │ │ │ ├── VirtualThreadedWebServer.java │ │ │ ├── WebRedirector.java │ │ │ ├── WebServer0.java │ │ │ ├── descr.txt │ │ │ ├── myKeystore.jks │ │ │ ├── runJsseServer.sh │ │ │ ├── runsimpleserver.sh │ │ │ └── webserver │ │ │ │ ├── DarwinWebServer.pif │ │ │ │ ├── Handler.java │ │ │ │ ├── Httpd.java │ │ │ │ ├── HttpdConcurrent.java │ │ │ │ ├── TODO.txt │ │ │ │ ├── WEB-INF │ │ │ │ └── web.xml │ │ │ │ ├── errors.properties │ │ │ │ ├── errors_es.properties │ │ │ │ ├── httpd.properties │ │ │ │ ├── images │ │ │ │ └── file.jpg │ │ │ │ ├── index.html │ │ │ │ ├── legal-notice.txt │ │ │ │ ├── mime.properties │ │ │ │ ├── run.bat │ │ │ │ ├── run.sh │ │ │ │ └── webcrawler.gif │ │ ├── nio │ │ │ ├── FileWatchServiceDemo.java │ │ │ ├── MemoryMapFile.java │ │ │ └── ServerSocketDemo.java │ │ ├── numbers │ │ │ ├── BigDecimalLimitation.java │ │ │ ├── BigNumCalc.java │ │ │ ├── BigNums.java │ │ │ ├── BoxedValueEquality.java │ │ │ ├── CastNeeded.java │ │ │ ├── CompactFormatDemo.java │ │ │ ├── Complex.java │ │ │ ├── ComplexDemoACM.java │ │ │ ├── ComplexDemoIan.java │ │ │ ├── Fibonacci.java │ │ │ ├── FloatCmp.java │ │ │ ├── FloatDoubleTime.java │ │ │ ├── FormatPlurals.java │ │ │ ├── FormatPluralsChoice.java │ │ │ ├── FractMult.java │ │ │ ├── GetNumber.java │ │ │ ├── Heron.java │ │ │ ├── InfNaN.java │ │ │ ├── IntFract.java │ │ │ ├── IntObject.java │ │ │ ├── IntOverflow.java │ │ │ ├── IntegerBinOctHexEtc.java │ │ │ ├── LogBase.java │ │ │ ├── LogBaseUse.java │ │ │ ├── Logarithm.java │ │ │ ├── MarkPercentages.java │ │ │ ├── Math1.java │ │ │ ├── Matrix.java │ │ │ ├── MatrixUse.java │ │ │ ├── NumFormat.java │ │ │ ├── NumFormat2.java │ │ │ ├── NumFormatDemo.java │ │ │ ├── NumFormatParse.java │ │ │ ├── NumSeries.java │ │ │ ├── NumberToWordsConverter.java │ │ │ ├── OverflowPrevention.java │ │ │ ├── Palindrome.java │ │ │ ├── PalindromeFirst.java │ │ │ ├── PalindromeTests │ │ │ ├── PalindromeViaBigInteger.java │ │ │ ├── PalindromeViaStringBuilder.java │ │ │ ├── Primes.java │ │ │ ├── Random1.java │ │ │ ├── Random2.java │ │ │ ├── Random3.java │ │ │ ├── Random4.java │ │ │ ├── Random5.java │ │ │ ├── RandomInt.java │ │ │ ├── RangedInt.java │ │ │ ├── RealValues.java │ │ │ ├── RomanYear.java │ │ │ ├── Round.java │ │ │ ├── Rounding.java │ │ │ ├── ScaledNumberFormatSimple.java │ │ │ ├── SmallIntMult.java │ │ │ ├── StrictFP.java │ │ │ ├── StringToDouble.java │ │ │ ├── TempConverter.java │ │ │ ├── TempConverter2.java │ │ │ ├── Trig.java │ │ │ ├── descr.txt │ │ │ └── palTimes │ │ ├── oo │ │ │ ├── AllClasses.java │ │ │ ├── BuilderAlternate.java │ │ │ ├── ChessMoveException.java │ │ │ ├── Clone0.java │ │ │ ├── Clone1.java │ │ │ ├── CloneSub.java │ │ │ ├── ColorDemo.java │ │ │ ├── CopyConstructorDemo.java │ │ │ ├── DataOrientedDemo.java │ │ │ ├── EnumSingleton.java │ │ │ ├── EqualsDemo.java │ │ │ ├── ObjectsHash.java │ │ │ ├── OptionalDemo.java │ │ │ ├── OptionalMethods.java │ │ │ ├── PrintHashCodes.java │ │ │ ├── SerializableUser.java │ │ │ ├── ShutdownDemo.java │ │ │ ├── Singleton.java │ │ │ ├── SingletonCheat1.java │ │ │ ├── SingletonCheat2.java │ │ │ ├── SingletonDemo.java │ │ │ ├── SomeClass.java │ │ │ ├── StatementsBeforeSuper.java │ │ │ ├── StringParse.java │ │ │ ├── ToStringWith.java │ │ │ ├── ToStringWithout.java │ │ │ ├── inherit │ │ │ │ ├── Customer.java │ │ │ │ ├── Employee.java │ │ │ │ └── Person.java │ │ │ ├── interfaces │ │ │ │ ├── Asset.java │ │ │ │ ├── BuildingAsset.java │ │ │ │ ├── BuildingLight.java │ │ │ │ ├── BuildingManagement.java │ │ │ │ ├── ComputerAsset.java │ │ │ │ ├── ComputerCPU.java │ │ │ │ ├── ComputerMonitor.java │ │ │ │ ├── EmergencyLight.java │ │ │ │ ├── PowerSwitchable.java │ │ │ │ └── RoomLights.java │ │ │ ├── metrolib │ │ │ │ ├── BrokenCopyOfRooms.java │ │ │ │ ├── Command.java │ │ │ │ ├── MetroLib.java │ │ │ │ ├── Room.java │ │ │ │ ├── Rooms.java │ │ │ │ ├── index.html │ │ │ │ └── play │ │ │ └── shapes │ │ │ │ ├── Circle.java │ │ │ │ ├── Rectangle.java │ │ │ │ ├── Shape.java │ │ │ │ ├── ShapeDriver.java │ │ │ │ └── Triangle.java │ │ ├── otherlang │ │ │ ├── ExecDemoBrowser.java │ │ │ ├── ExecDemoFiles.java │ │ │ ├── ExecDemoLs.java │ │ │ ├── ExecDemoPartial.java │ │ │ ├── ExecDemoSimple.java │ │ │ ├── ExecDemoWait.java │ │ │ ├── ExecShellArgs.java │ │ │ ├── ProcessBuilderDemo.java │ │ │ ├── PythonFromJava.java │ │ │ ├── RenjinScripting.java │ │ │ ├── ScriptEnginesDemo.java │ │ │ ├── ScriptEnginesList.java │ │ │ ├── ScriptWithCalcDemo.java │ │ │ ├── ScriptingGUI.java │ │ │ ├── StringDistance.java │ │ │ ├── StringDistance.pl │ │ │ ├── Swinging.pl │ │ │ ├── calcscriptengine │ │ │ │ ├── CalcScriptEngine.java │ │ │ │ ├── CalcScriptEngineFactory.java │ │ │ │ └── README.adoc │ │ │ └── descr.txt │ │ ├── packaging │ │ │ ├── GetResourceDemo.java │ │ │ ├── HelloWorldForPackaging.java │ │ │ ├── manifest.stub │ │ │ └── widgets.properties │ │ ├── patterns │ │ │ └── README.adoc │ │ ├── performance │ │ │ ├── Array.java │ │ │ ├── ArrayLst.java │ │ │ ├── ArrayVec.java │ │ │ ├── GUIPerf.java │ │ │ ├── InlineA.java │ │ │ ├── InlineB.java │ │ │ ├── InlineC.java │ │ │ ├── PerfTimeRegex.java │ │ │ ├── PerfTimeString.java │ │ │ ├── README │ │ │ ├── StringPrintA.java │ │ │ ├── StringPrintAA.java │ │ │ ├── StringPrintB.java │ │ │ ├── Time.java │ │ │ ├── TimeNoArgs.java │ │ │ ├── TimeSort.java │ │ │ ├── TimeTimeable.java │ │ │ ├── Timeable.java │ │ │ ├── descr.txt │ │ │ ├── loop.c │ │ │ ├── stringprinttimer.sh │ │ │ └── timeStrings.sh │ │ ├── pool │ │ │ ├── Pool.java │ │ │ ├── PoolDemo.java │ │ │ └── PoolFactory.java │ │ ├── public_html │ │ │ ├── index.html │ │ │ ├── runner.ai │ │ │ └── runner.gif │ │ ├── record │ │ │ ├── PersonRecordDemo.java │ │ │ ├── RecordCanonicalConstructor.java │ │ │ ├── RecordWith.java │ │ │ ├── RecordWithBuilder.java │ │ │ ├── RecordsCanImplement.java │ │ │ └── RecordsCanOverride.java │ │ ├── reflection │ │ │ ├── APIFormatter.java │ │ │ ├── ClassForName.java │ │ │ ├── ClassKeyword.java │ │ │ ├── ClassLoaderDemo0.java │ │ │ ├── ClassLoaderDemo1.java │ │ │ ├── ClassLoaderMultiple.java │ │ │ ├── ClassesInPackage.java │ │ │ ├── CrossRef │ │ │ ├── CrossRef.java │ │ │ ├── CrossRefXML.java │ │ │ ├── DefaultConstructorDemo.java │ │ │ ├── DefeatFinalVar.java │ │ │ ├── DefeatPrivacy.java │ │ │ ├── FindField.java │ │ │ ├── GetAndInvokeMethod.java │ │ │ ├── GetPrivateClass.java │ │ │ ├── GetPrivateClassPart2.java │ │ │ ├── InstanceRunner.java │ │ │ ├── JarPackagingClassLoader.java │ │ │ ├── JavaBeanAllGetters.java │ │ │ ├── JavaCompilerDemo.java │ │ │ ├── ListAnnotations.java │ │ │ ├── ListMethods.java │ │ │ ├── MethodHandleAbcs.java │ │ │ ├── MethodHandleDemo.java │ │ │ ├── MultiDemo.java │ │ │ ├── MyJavaP.java │ │ │ ├── Packages.java │ │ │ ├── PluginsViaAnnotations.java │ │ │ ├── PrimsDotClass.java │ │ │ ├── Reflect1.java │ │ │ ├── Simple.java │ │ │ ├── cooklet │ │ │ │ ├── Cookies.java │ │ │ │ ├── Cooklet.java │ │ │ │ └── DemoCooklet.java │ │ │ ├── crossref.awk │ │ │ ├── descr.txt │ │ │ ├── dynamicproxy │ │ │ │ ├── DynamicProxyDemo.java │ │ │ │ ├── DynamicProxyFactoryDemo.java │ │ │ │ ├── ManualProxy.java │ │ │ │ ├── MyInvocationHandler.java │ │ │ │ ├── QuoteServer.java │ │ │ │ ├── QuoteServerImpl.java │ │ │ │ └── README.adoc │ │ │ └── showlet │ │ │ │ ├── IanShow.java │ │ │ │ ├── MyBigApp.java │ │ │ │ ├── MyBigApp2.java │ │ │ │ ├── Showlet.java │ │ │ │ └── ShowletProxy.java │ │ ├── regex │ │ │ ├── APIJava.txt │ │ │ ├── BookRank.java │ │ │ ├── CanonEqDemo.java │ │ │ ├── CaseMatch.java │ │ │ ├── CommentedRegEx.java │ │ │ ├── EmailValidator.java │ │ │ ├── GetParen0.java │ │ │ ├── GetParen1.java │ │ │ ├── Grep0.java │ │ │ ├── Grep1.java │ │ │ ├── Grep2.java │ │ │ ├── GrepNIO.java │ │ │ ├── GrepSun.java │ │ │ ├── LogParseInfo.java │ │ │ ├── LogRegEx.java │ │ │ ├── LogStrTok.java │ │ │ ├── LsDashLParse.java │ │ │ ├── NLMatch.java │ │ │ ├── PatternConvenience.java │ │ │ ├── PhoneNumberValidator.java │ │ │ ├── README.adoc │ │ │ ├── RESimple.java │ │ │ ├── REString.java │ │ │ ├── RE_QnotU_Args.java │ │ │ ├── REmatch.java │ │ │ ├── REmatchTwoFields.java │ │ │ ├── REsubstr.java │ │ │ ├── ReaderIter.java │ │ │ ├── RegexUnicode.java │ │ │ ├── ReplaceDemo.java │ │ │ ├── ReplaceDemo2.java │ │ │ ├── ReplaceMulti.java │ │ │ ├── Split.java │ │ │ ├── StringConvenience.java │ │ │ └── ls-lTests.txt │ │ ├── rmi │ │ │ └── README-moved.txt │ │ ├── sched │ │ │ ├── Appt.java │ │ │ ├── Cal.java │ │ │ ├── CalDay.java │ │ │ ├── CalEventMgr.java │ │ │ ├── CalMonth.java │ │ │ ├── CalYear.java │ │ │ ├── DateSelectedEvent.java │ │ │ ├── DateSelectedListener.java │ │ │ ├── Repeat.java │ │ │ ├── Sched.java │ │ │ ├── ToDo.java │ │ │ └── appointments.txt │ │ ├── sealedclasses │ │ │ ├── A.java │ │ │ ├── B.java │ │ │ ├── B2.java │ │ │ ├── C.java │ │ │ ├── SealedClassDemo.java │ │ │ ├── sealed_interfaces.java │ │ │ └── simple_example.java │ │ ├── secure │ │ │ ├── BobbyTables.java │ │ │ └── README.txt │ │ ├── signals │ │ │ ├── DemoMain.java │ │ │ ├── LibSignal.html │ │ │ ├── LibSignal.java │ │ │ ├── Makefile │ │ │ ├── README │ │ │ ├── com_darwinsys_signal_LibSignal.h │ │ │ ├── descr.txt │ │ │ ├── libsignal.c │ │ │ └── test.dat │ │ ├── sql │ │ │ ├── README.txt │ │ │ └── setup.sql │ │ ├── starting │ │ │ ├── Buggy.java │ │ │ ├── CheckFor1_1.java │ │ │ ├── CheckForClass.java │ │ │ ├── CheckForSwing.java │ │ │ ├── Deprec.java │ │ │ ├── EchoArgv.java │ │ │ ├── Fetch.java │ │ │ ├── FetchDebug.java │ │ │ ├── FinalMethods.java │ │ │ ├── GetJavaVersion.java │ │ │ ├── HelloClasslessWithMembers.java │ │ │ ├── HelloWorld.java │ │ │ ├── HelloWorld21.java │ │ │ ├── HelloWorld23.java │ │ │ ├── HelloWorldMocha.java.txt │ │ │ ├── IfDef.java │ │ │ ├── One.java │ │ │ ├── Two.java │ │ │ ├── circular │ │ │ │ ├── A.java │ │ │ │ ├── B.java │ │ │ │ ├── X.java │ │ │ │ ├── Y.java │ │ │ │ └── Z.java │ │ │ └── descr.txt │ │ ├── strings │ │ │ ├── Case.java │ │ │ ├── CheckSum.c │ │ │ ├── CheckSum.java │ │ │ ├── CourseNumExtractor.java │ │ │ ├── CreditCardDisguise.java │ │ │ ├── CreditCardValidate.java │ │ │ ├── DeTab.java │ │ │ ├── EnTab.java │ │ │ ├── Equality.java │ │ │ ├── Fmt.java │ │ │ ├── Fmt2.java │ │ │ ├── Fmt2Test.txt │ │ │ ├── FmtTest.txt │ │ │ ├── FmtTest0.txt │ │ │ ├── ForEachChar.java │ │ │ ├── Indent.java │ │ │ ├── NullChar.java │ │ │ ├── Replace.java │ │ │ ├── Soundex.java │ │ │ ├── SoundexSimple.java │ │ │ ├── StrCharAt.java │ │ │ ├── StrTokDemo.java │ │ │ ├── StrTokDemo2.java │ │ │ ├── StrTokDemo3.java │ │ │ ├── StrTokDemo4.java │ │ │ ├── StrTokDemo4b.java │ │ │ ├── StrTokDemo4c.java │ │ │ ├── StrTokInts.java │ │ │ ├── StrUtil.java │ │ │ ├── StreamTokenize.java │ │ │ ├── StringAlign.java │ │ │ ├── StringAlignDemo.java │ │ │ ├── StringAlignSimple.java │ │ │ ├── StringBufferDemo.java │ │ │ ├── StringBuilderCommaList.java │ │ │ ├── StringBuilderDemo.java │ │ │ ├── StringEscapes.java │ │ │ ├── StringFormatted.java │ │ │ ├── StringRevChar.java │ │ │ ├── StringReverse.java │ │ │ ├── StringSplitInts.java │ │ │ ├── StringTemplateFmtProcessor.java │ │ │ ├── StringTextBlock.java │ │ │ ├── SubStringDemo.java │ │ │ ├── Tabs.java │ │ │ ├── TextBlockDemo.java │ │ │ ├── Undent.java │ │ │ ├── UnicodeCast.java │ │ │ ├── UnicodeChars.java │ │ │ ├── UnicodeUpsideDown.java │ │ │ ├── WolfInStringsClothing.java │ │ │ ├── WolfInStringsClothing2.java │ │ │ ├── csvgetline.c++ │ │ │ ├── descr.txt │ │ │ ├── spaces.txt │ │ │ └── strutils.c │ │ ├── structure │ │ │ ├── Array0.java │ │ │ ├── Array1.java │ │ │ ├── Array2.java │ │ │ ├── Array2DNonRectangular.java │ │ │ ├── ArrayDemo.java │ │ │ ├── ArrayHunt.java │ │ │ ├── ArrayIteratorDemo.java │ │ │ ├── ArrayListDemo.java │ │ │ ├── ArrayListGenericDemo.java │ │ │ ├── ArrayToVector.java │ │ │ ├── ArrayTwoDObjects.java │ │ │ ├── ArraysAsListDemo.java │ │ │ ├── ArraysEqualsCompareToString.java │ │ │ ├── ArraysToString.java │ │ │ ├── AutoboxDemo.java │ │ │ ├── BeanUtilsDemo.java │ │ │ ├── BitSetDemo.java │ │ │ ├── BubbleSort.java │ │ │ ├── CMEDemo.java │ │ │ ├── CallTrack.java │ │ │ ├── Employee.java │ │ │ ├── EnumDemo.java │ │ │ ├── EnumErrorIn16.java │ │ │ ├── EnumList.java │ │ │ ├── EnumMapDemo.java │ │ │ ├── EnumWithStringFieldDemo.java │ │ │ ├── ExecDemoSort.java │ │ │ ├── ForeachDemo.java │ │ │ ├── HashDemoGeneric.java │ │ │ ├── HashMapDemo.java │ │ │ ├── HashMapWithRemoves.java │ │ │ ├── HashableCollectionWithoutEqualsHashCode.java │ │ │ ├── HashtableDemo.java │ │ │ ├── InitializeList.java │ │ │ ├── InterfaceAdditions.java │ │ │ ├── IterableDemo.java │ │ │ ├── IterableForEach.java │ │ │ ├── IteratorDemo.java │ │ │ ├── LinkList.java │ │ │ ├── LinkedListDemo.java │ │ │ ├── ListAndBoxGenerics.java │ │ │ ├── ListFormat.java │ │ │ ├── ListInterchange.java │ │ │ ├── ListsOldAndNew.java │ │ │ ├── Manager.java │ │ │ ├── ManagerInArray.java │ │ │ ├── MapEntrySetDemo.java │ │ │ ├── MapStringIntNullKey.java │ │ │ ├── Media.java │ │ │ ├── MediaDemo.java │ │ │ ├── MediaFancy.java │ │ │ ├── MediaInvoicer.java │ │ │ ├── MethodRefs.java │ │ │ ├── MyList.java │ │ │ ├── MyListDemo.java │ │ │ ├── MyListImpl.java │ │ │ ├── MyMap.java │ │ │ ├── MyObservable.java │ │ │ ├── MyStack.java │ │ │ ├── MyStackDemo.java │ │ │ ├── PrefsDemo.java │ │ │ ├── Product.java │ │ │ ├── PropsCompanies.java │ │ │ ├── PropsCust.java │ │ │ ├── PropsCust.properties │ │ │ ├── PropsDemo.dat │ │ │ ├── PropsDemo.java │ │ │ ├── PropsToResources.java │ │ │ ├── Queue.java │ │ │ ├── RandomProps.java │ │ │ ├── RecordingCategory.java │ │ │ ├── RecordingCategoryBetter.java │ │ │ ├── SetArithmetic.java │ │ │ ├── SetDemo.java │ │ │ ├── SimpleFixedLengthQueue.java │ │ │ ├── SimpleStack.java │ │ │ ├── SortArray.java │ │ │ ├── SortBooleans.java │ │ │ ├── SortCollection.java │ │ │ ├── SortMultipleFieldsExternal.java │ │ │ ├── SortMultipleFieldsInternal.java │ │ │ ├── SortableData.java │ │ │ ├── StackStillWorks.java │ │ │ ├── StrSort.java │ │ │ ├── StrSortCase.java │ │ │ ├── StringSort.java │ │ │ ├── StructureDemo.java │ │ │ ├── SubstringComparator.java │ │ │ ├── SubstringComparatorDemo.java │ │ │ ├── ToArray.java │ │ │ ├── ToyStack.java │ │ │ ├── ToyStack2.java │ │ │ ├── TreeSetDemo.java │ │ │ ├── TwoDArrays.java │ │ │ ├── VectorIterator.java │ │ │ ├── VectorMisused.java │ │ │ ├── color.c │ │ │ ├── descr.txt │ │ │ ├── interfaceprivate.java │ │ │ ├── javap.txt │ │ │ ├── mediainvoices.txt │ │ │ └── sortdemo.txt │ │ ├── tar │ │ │ ├── TODO.txt │ │ │ ├── TarEntry.java │ │ │ ├── TarException.java │ │ │ ├── TarFile.java │ │ │ ├── TarList.java │ │ │ ├── demo.tar │ │ │ └── descr.txt │ │ ├── textproc │ │ │ ├── Diff.java │ │ │ ├── PSFormatter.java │ │ │ ├── PerfectPangram.java │ │ │ ├── Prep.java │ │ │ ├── descr.txt │ │ │ └── diff.c │ │ ├── threads │ │ │ ├── Animator.java │ │ │ ├── ArrayAdding.java │ │ │ ├── AutoSave.java │ │ │ ├── BallotBox.java │ │ │ ├── BallotPosition.java │ │ │ ├── Bounce.java │ │ │ ├── BreakEnd.java │ │ │ ├── CatchMulti.java │ │ │ ├── CompletableFutureDemo.java │ │ │ ├── CompletableFutureSimple.java │ │ │ ├── ExecutorDemo.java │ │ │ ├── ForkJoinPoolDemo.java │ │ │ ├── FutureFromThreadpool.java │ │ │ ├── IOTimer.java │ │ │ ├── InstantDeadlock.java │ │ │ ├── Intr.java │ │ │ ├── IntrSelf.java │ │ │ ├── IntrWhoCatches.java │ │ │ ├── Join.java │ │ │ ├── LockFragment.java │ │ │ ├── Mover.gif │ │ │ ├── Mover.java │ │ │ ├── Mover2.java │ │ │ ├── Mover3.java │ │ │ ├── NotifyError.java │ │ │ ├── ProdConsQueues.java │ │ │ ├── ProdConsSemaphore.java │ │ │ ├── ProdConsThreadAPI.java │ │ │ ├── ProdConsVector.java │ │ │ ├── RaceDemo.java │ │ │ ├── ReadersWriterDemo.java │ │ │ ├── Readme.ForkJoin.txt │ │ │ ├── RecursiveActionDemo.java │ │ │ ├── RecursiveTaskDemo.java │ │ │ ├── Reentrant.java │ │ │ ├── ReminderService.java │ │ │ ├── ReminderService.txt │ │ │ ├── RunnableLambda.java │ │ │ ├── ScopedValueDemo1.java │ │ │ ├── ShutDownHook.java │ │ │ ├── Sprite.java │ │ │ ├── StopBoolean.java │ │ │ ├── StopClose.java │ │ │ ├── StopExec.java │ │ │ ├── Stopwatch.java │ │ │ ├── StructuredTaskScopedemo.java │ │ │ ├── SyncNeeded.java │ │ │ ├── ThreadDeathCatch.java │ │ │ ├── ThreadGroupDemo.java │ │ │ ├── ThreadLocalDemo.java │ │ │ ├── ThreadLocalDemo2.java │ │ │ ├── ThreadLocalDemo3.java │ │ │ ├── ThreadName.java │ │ │ ├── ThreadPoolDemo.java │ │ │ ├── ThreadSync.java │ │ │ ├── ThreadsDemo1.java │ │ │ ├── ThreadsDemo2.java │ │ │ ├── ThreadsDemo3.java │ │ │ ├── ThreadsDemo4.java │ │ │ ├── ThreadsOne.java │ │ │ ├── UpdateSlowGUI.java │ │ │ ├── VirtualThreadsDemo.java │ │ │ ├── breakend.sh │ │ │ ├── buzzin │ │ │ │ ├── BuzzIn.html │ │ │ │ ├── BuzzInServlet.java │ │ │ │ ├── HostFun.html │ │ │ │ ├── README.buz │ │ │ │ ├── WEB-INF │ │ │ │ │ ├── hosts.xml │ │ │ │ │ └── web.xml │ │ │ │ ├── hosts │ │ │ │ │ └── index.jsp │ │ │ │ ├── index.html │ │ │ │ └── tomcat-context.txt │ │ │ └── descr.txt │ │ ├── tmtimer │ │ │ ├── TMTimer.java │ │ │ ├── TMTimer.properties │ │ │ └── TMTimerUtil.java │ │ ├── unfinished │ │ │ ├── GraphicsBounds.java │ │ │ ├── JapanWriter.java │ │ │ ├── PasswdFile.java │ │ │ ├── Proxy.java │ │ │ ├── ThreadGroupDemo.java │ │ │ ├── WordNumberFormat.java │ │ │ └── descr.txt │ │ ├── webproxy │ │ │ ├── Handler.java │ │ │ ├── WebProxy.java │ │ │ ├── errors.properties │ │ │ ├── httpd.properties │ │ │ ├── legal-notice.txt │ │ │ └── run.sh │ │ └── xcolor │ │ │ ├── XColor.html │ │ │ ├── XColor.java │ │ │ ├── XColorDemo.java │ │ │ ├── descr.txt │ │ │ ├── index.html │ │ │ ├── rgb.txt │ │ │ └── screendump.gif │ └── resources │ │ ├── EnumIntl.properties │ │ ├── EnumIntl_es.properties │ │ ├── META-INF │ │ ├── beans.xml │ │ └── services │ │ │ └── javax.script.ScriptEngineFactory │ │ ├── Widgets.properties │ │ ├── Widgets_es.properties │ │ ├── Widgets_sv.properties │ │ ├── audio │ │ └── test.wav │ │ ├── demo.txt │ │ ├── duke.gif │ │ ├── getresourcedemo1.txt │ │ ├── help │ │ └── index.html │ │ ├── log4j.properties │ │ ├── logging.properties │ │ ├── messages.properties │ │ ├── messages_es.properties │ │ ├── new.gif │ │ ├── pythonfromjava.py │ │ └── randomnesshistograms.r │ └── test │ ├── java │ ├── database │ │ ├── ResultsDecoratorSQLTest.java │ │ └── rowsetdata.xml │ ├── datetime │ │ └── EasterTest.java │ ├── dbm │ │ └── TestDBM.java │ ├── dir_file │ │ └── FindFilterTest.java │ ├── i18n │ │ ├── EnumIntlTest.java │ │ └── EnumIntlTest_es.java │ ├── io │ │ ├── EscapeContLineReaderTest.java │ │ ├── FileCanTestDirWritable.java │ │ ├── FortranLineReaderTest.java │ │ ├── IndentContLineReaderTest.java │ │ ├── SimpleCalcTest.java │ │ └── TeePrintStreamTest.java │ ├── jdbc │ │ └── MigrationTest.java │ ├── lang │ │ └── IfSpeedTest.java │ ├── netweb │ │ ├── GetUrlTest.java │ │ └── ReadTagTest.java │ ├── numbers │ │ ├── BigNumCalcTest.java │ │ ├── ComplexTest.java │ │ ├── FibonacciTest.java │ │ ├── GetNumberTest.java │ │ ├── NumberToWordsConverterTest.java │ │ ├── RoundTest.java │ │ └── TempConverterTest.java │ ├── oo │ │ ├── Clone1Test.java │ │ └── EqualsDemoTest.java │ ├── otherlang │ │ └── CalcEngineTest.java │ ├── performance │ │ └── PerformanceTester.java │ ├── reflection │ │ ├── APIFormatterTest.java │ │ └── PluginsViaAnnotationsTest.java │ ├── regex │ │ ├── EmailValidatorTest.java │ │ ├── LogRegExTest.java │ │ ├── PhoneNumberValidatorTest.java │ │ └── RETest.java │ ├── sched │ │ └── ApptTest.java │ ├── strings │ │ ├── CheckSumTest.java │ │ ├── CreditCardDisguiseTest.java │ │ ├── CreditCardValidateCleanTest.java │ │ ├── CreditCardValidateIsValidTest.java │ │ ├── DeTabTest.java │ │ ├── EnTabTest.java │ │ ├── FmtTest.java │ │ ├── SoundexTest.java │ │ ├── StrUtilTest.java │ │ ├── StringAlignParameterizedTest.java │ │ ├── StringAlignTest.java │ │ ├── TabsTest.java │ │ └── UndentTest.java │ ├── structure │ │ ├── CallTrackTestGUI.java │ │ ├── LinkListTest.java │ │ ├── ListFormatTest.java │ │ ├── ListInterchangeTest.java │ │ ├── MyMapTest.java │ │ ├── MyObservableTest.java │ │ ├── MyStackTest.java │ │ ├── QueueTest.java │ │ ├── RandomPropsTest.java │ │ └── SimpleFixedLengthQueueTest.java │ ├── textproc │ │ └── PerfectPangramTest.java │ ├── tmtimer │ │ └── TMTimerUtilTest.java │ ├── tools │ │ └── JrTestClass.java │ └── xcolor │ │ └── XColorTest.java │ └── resources │ ├── dummy.txt │ └── netweb │ └── GetUrlTestData.txt ├── makeIndexByChapter ├── mkzip ├── multireleasejar ├── Data.java ├── MANIFEST.MF ├── Main.java ├── README.adoc ├── run_demo └── versions │ └── 16 │ └── Data.java ├── pom.xml ├── restdemo ├── .classpath ├── .gitignore ├── .project ├── pom.xml └── src │ └── main │ ├── java │ └── rest │ │ ├── RestApplication.java │ │ └── RestService.java │ └── webapp │ └── WEB-INF │ ├── jboss-web.xml │ └── web.xml ├── sampleproject └── maven │ ├── pom.xml │ └── src │ └── main │ └── java │ └── H.java ├── scripts └── run_cdi_demo ├── sidebyside ├── README.adoc ├── c │ ├── .cvsignore │ ├── Makefile │ └── helloworld.c ├── clojure │ ├── Hello.clj │ ├── HelloSwing.clj │ └── Stack.clj ├── cobol │ ├── acceptdemo.cob │ └── helloworld.cob ├── csharp │ ├── .cvsignore │ ├── HelloWorld.cs │ └── Makefile ├── dart │ └── hello.dart ├── fortran │ ├── .cvsignore │ ├── Makefile │ └── readnums.for ├── golang │ ├── run │ └── src │ │ ├── hello │ │ ├── .gitignore │ │ └── hello.go │ │ └── stack │ │ ├── .gitignore │ │ └── stack.go ├── groovy │ ├── hello.groovy │ └── stack.groovy ├── java │ ├── AcceptDemo.java │ ├── HelloWorld.java │ └── StackDemo.java ├── kotlin │ ├── Stack.kt │ └── hello.kt ├── ocaml │ ├── hello.ocaml │ └── stack.ocaml ├── python │ ├── helloworld │ └── stack ├── ruby │ └── Hello.ruby ├── rust │ ├── Hello.rust │ └── Stack.rust └── scala │ ├── Hello.scala │ └── Stack.scala ├── spark ├── .classpath ├── .gitignore ├── .project ├── README.adoc ├── pom.xml ├── run └── src │ └── main │ └── java │ └── sparkdemo │ ├── LogReader.java │ └── ReaderJob.java ├── stylesheet.css ├── template ├── @.txt ├── Filter.java ├── G2D.java ├── GUIextendsFrame.java ├── GUIwithFrame.java ├── JMenus.frag ├── JOption.frag ├── LICENSE ├── Main.java ├── Servlet ├── Swing.java ├── addactionlistener.frag ├── descr.txt ├── jframe.exit.frag └── mainopts.java ├── testing-spock ├── .classpath ├── .gitignore ├── .project ├── pom.xml └── src │ └── test │ └── groovy │ └── spockdemo.groovy ├── testing ├── .classpath ├── .gitignore ├── .project ├── README.adoc ├── pom.xml └── src │ ├── main │ └── java │ │ ├── domain │ │ └── Person.java │ │ ├── sampleapp │ │ ├── Units.java │ │ ├── WeatherInfoSupplier.java │ │ ├── WeatherReporter.java │ │ └── WeatherStation.java │ │ └── testing │ │ ├── CheckAccessors.java │ │ ├── CheckAccessorsDirectory.java │ │ ├── CheckAccessorsMain.java │ │ ├── TestUtils.java │ │ └── package.html │ └── test │ └── java │ ├── domain │ └── PersonTest.java │ ├── sampleapp │ └── WeatherInfoSupplierTest.java │ └── testing │ ├── CheckAccessorsTest.java │ ├── ComponentRunner.java │ ├── FalsePositiveNull.java │ ├── HamcrestTest.java │ ├── RobotWindow.java │ ├── StringTest.java │ ├── TestInitializers.java │ ├── TestMaker.java │ ├── TestUtilsTest.java │ └── UrlBench.java ├── unsafe ├── .classpath ├── .gitignore ├── .project ├── pom.xml └── src │ └── main │ └── java │ ├── module-info.java │ └── unsafe │ └── LoadAverage.java └── xml ├── .classpath ├── .gitignore ├── .project ├── README.adoc ├── pom.xml └── src ├── main └── java │ ├── io │ └── GetMark.java │ ├── xml │ ├── DocReadWriteDom.java │ ├── DocWriteDOM.java │ ├── DocWriteJDOM.java │ ├── DomDemo.java │ ├── DomDemoXInclude.java │ ├── JAXPTransform.java │ ├── JDOMDemo.java │ ├── JDOMLister.java │ ├── MyDTDResolver.java │ ├── SAXLister.java │ ├── XMLExport.java.frag │ ├── XParse.java │ ├── XPathDemo.java │ ├── XPathMulti.java │ ├── XSLTransform.java │ ├── XTW.java │ ├── cdatasection.xml │ ├── descr.txt │ ├── emailentity.xml │ ├── jaxb │ │ ├── ConfigDemo.java │ │ ├── Configuration.java │ │ ├── ObjectFactory.java │ │ ├── config.save.xml │ │ └── xml.jaxb.xsd │ ├── people-dtd.xml │ ├── people-schema.xml │ ├── people-xinclude.xml │ ├── people-xsl.xml │ ├── people.dtd │ ├── people.xml │ ├── people.xsd │ ├── people.xsl │ ├── runxslt │ ├── test.xml │ ├── testNotWellFormedXSL.xsl │ └── whatis.xml │ └── xmlform │ ├── GenMIF.java │ ├── TODO.txt │ ├── XmlForm.java │ ├── XmlFormWalker.java │ ├── descr.txt │ ├── formats.mml │ ├── test1.mif │ ├── test1.xml │ ├── try │ └── xmlformat.mml └── test └── java └── xml └── jaxb └── ConfigTest.java /.gitignore: -------------------------------------------------------------------------------- 1 | .settings 2 | /build 3 | /test-classes 4 | /target 5 | *.bak 6 | .idea 7 | *.iml 8 | WIP 9 | -------------------------------------------------------------------------------- /Copyright.adoc: -------------------------------------------------------------------------------- 1 | All files are Copyright (c): All rights reserved. 2 | See the accompanying link:License.txt[Legal Notice] for conditions of use. 3 | May be used by readers of my Java Cookbook for educational purposes, 4 | and for any other use if the license conditions are met. 5 | -------------------------------------------------------------------------------- /Copyright.html: -------------------------------------------------------------------------------- 1 |
All files are Copyright (c): All rights reserved. 2 | See the accompanying Legal Notice for conditions of use. 3 | May be used by readers of my Java Cookbook for educational purposes, 4 | and for any other use if the license conditions are met. 5 |
6 | -------------------------------------------------------------------------------- /DISCLAIMER.txt: -------------------------------------------------------------------------------- 1 | Not all of the programs in this package have been adequately tested 2 | (in fact, a few have tests with @Ignore, so beware of those!!). 3 | As with any free open-source software, the user is entirely responsible 4 | for ensuring that the software functions correctly and meets their needs. 5 | 6 | You assume all risk of using this software! 7 | -------------------------------------------------------------------------------- /Rdemo-web/runR: -------------------------------------------------------------------------------- 1 | #!/usr/local/bin/R --no-save 2 | 3 | x = 2 + 2 4 | 5 | print x 6 | -------------------------------------------------------------------------------- /Rdemo-web/runStatsApp: -------------------------------------------------------------------------------- 1 | R --no-save <LabelText has moved 2 | The LabelText program has been moved into the 3 | com.darwinsys.util 4 | package. 5 | -------------------------------------------------------------------------------- /desktop/src/main/java/gui/MVC/TextView.java: -------------------------------------------------------------------------------- 1 | package gui.MVC; 2 | 3 | import javax.swing.*; 4 | import java.util.List; 5 | 6 | public class TextView extends JTextArea { 7 | 8 | private static final long serialVersionUID = 1L; 9 | 10 | public TextView() { 11 | super(20, 20); 12 | } 13 | 14 | public void setListData(ListHere is the help for our demo application: 3 |
This page still under construction, sorry. 4 | -------------------------------------------------------------------------------- /desktop/src/main/java/gui/tray.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IanDarwin/javasrc/06049e93ef07923b5a3b9d92e265512c815386e2/desktop/src/main/java/gui/tray.gif -------------------------------------------------------------------------------- /desktop/src/main/java/gui_awt/FrameIcon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IanDarwin/javasrc/06049e93ef07923b5a3b9d92e265512c815386e2/desktop/src/main/java/gui_awt/FrameIcon.gif -------------------------------------------------------------------------------- /desktop/src/main/java/gui_awt/README.txt: -------------------------------------------------------------------------------- 1 | This is only for GUI demos that have been supplanted by Swing. 2 | The Swing demos still use AWT, of course, and some e.g., LayoutManager 3 | demos are still in the main 'gui' folder despite being AWT-based. 4 | -------------------------------------------------------------------------------- /desktop/src/main/java/gui_swt/README.txt: -------------------------------------------------------------------------------- 1 | SWT is the GUI library for Eclipse. See 2 | 3 | http://androidcookbook.oreilly.com/Recipe.seam?recipeId=375 GUI overview 4 | 5 | http://www.developer.com/java/other/article.php/2179061/Swing-and-SWT-A-Tale-of-Two-Java-GUI-Libraries.htm 6 | -------------------------------------------------------------------------------- /desktop/src/main/java/javacomm/JModem.form: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IanDarwin/javasrc/06049e93ef07923b5a3b9d92e265512c815386e2/desktop/src/main/java/javacomm/JModem.form -------------------------------------------------------------------------------- /desktop/src/main/java/javacomm/ProtocolBotchException.java: -------------------------------------------------------------------------------- 1 | package javacomm; 2 | 3 | /** An unchecked exception to indicate a protocol failure. */ 4 | public class ProtocolBotchException extends RuntimeException { 5 | ProtocolBotchException() { 6 | super(); 7 | } 8 | ProtocolBotchException(String message) { 9 | super(message); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /desktop/src/main/java/javacomm/javax.comm.txt: -------------------------------------------------------------------------------- 1 | 2 | CLASSPATH PROBLEM 3 | 4 | You do not appear to have the javax.comm package in your CLASSPATH. 5 | 6 | You will need to download and install this (operating-system-dependant) 7 | file in order to compile the programs in `pwd`. 8 | 9 | $Id$ 10 | 11 | -------------------------------------------------------------------------------- /desktop/src/main/java/plotter/descr.txt: -------------------------------------------------------------------------------- 1 | The Plotter example, used in various chapters. 2 | -------------------------------------------------------------------------------- /desktop/src/main/java/printjdk14printservice/duke.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IanDarwin/javasrc/06049e93ef07923b5a3b9d92e265512c815386e2/desktop/src/main/java/printjdk14printservice/duke.gif -------------------------------------------------------------------------------- /desktop/src/main/resources/placeholder.txt: -------------------------------------------------------------------------------- 1 | Placeholder to keep m2e from getting excited. 2 | -------------------------------------------------------------------------------- /desktop/src/test/resources/placeholder.txt: -------------------------------------------------------------------------------- 1 | Placeholder to keep m2e from getting excited. 2 | -------------------------------------------------------------------------------- /ee/.gitignore: -------------------------------------------------------------------------------- 1 | build 2 | target 3 | -------------------------------------------------------------------------------- /ee/src/.cvsignore: -------------------------------------------------------------------------------- 1 | build 2 | -------------------------------------------------------------------------------- /ee/src/main/java/domain/Duration.java: -------------------------------------------------------------------------------- 1 | package domain; 2 | 3 | import javax.persistence.Entity; 4 | 5 | @Entity 6 | public class Duration { 7 | int hours, minutes, seconds; 8 | 9 | public Duration(int hours, int minutes, int seconds) { 10 | super(); 11 | this.hours = hours; 12 | this.minutes = minutes; 13 | this.seconds = seconds; 14 | } 15 | public Duration(int seconds) { 16 | this.seconds = seconds; // XXX do the math! 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /ee/src/main/java/ejb2/billing/Billing.java: -------------------------------------------------------------------------------- 1 | package ejb2.billing; 2 | 3 | import javax.ejb.EJBObject; 4 | 5 | public interface Billing extends EJBObject { 6 | /** Generate a bill in the database */ 7 | void setTotal(int amount); 8 | } 9 | -------------------------------------------------------------------------------- /ee/src/main/java/ejb2/billing/BillingHome.java: -------------------------------------------------------------------------------- 1 | package ejb2.billing; 2 | 3 | import javax.ejb.EJBHome; 4 | 5 | public interface BillingHome extends EJBHome { 6 | public Billing create(int CustID); 7 | } 8 | -------------------------------------------------------------------------------- /ee/src/main/java/ejb2/bmp/Entity.java: -------------------------------------------------------------------------------- 1 | package ejb2.bmp; 2 | 3 | import java.rmi.RemoteException; 4 | 5 | import javax.ejb.EJBObject; 6 | 7 | public interface Entity extends EJBObject { 8 | 9 | public Recording getRecording() throws RemoteException; 10 | 11 | } 12 | -------------------------------------------------------------------------------- /ee/src/main/java/ejb2/bmp/Recording.java: -------------------------------------------------------------------------------- 1 | package ejb2.bmp; 2 | 3 | /** This is a dummy version of Recording used in my BMP example. */ 4 | public class Recording { 5 | int id; 6 | String title; 7 | String artist; // should be int fkey to artists table 8 | int publisher; // fkey to publishers table 9 | int year; 10 | } 11 | -------------------------------------------------------------------------------- /ee/src/main/java/ejb2/descr.txt: -------------------------------------------------------------------------------- 1 | Enterprise JavaBean examples 2 | -------------------------------------------------------------------------------- /ee/src/main/java/ejb2/hello/.cvsignore: -------------------------------------------------------------------------------- 1 | build 2 | -------------------------------------------------------------------------------- /ee/src/main/java/ejb2/hello/Hello.java: -------------------------------------------------------------------------------- 1 | package ejb2.hello; 2 | 3 | import java.rmi.RemoteException; 4 | 5 | import javax.ejb.EJBObject; 6 | 7 | public interface Hello extends EJBObject { 8 | public String sayHello(String name) throws RemoteException; 9 | } 10 | -------------------------------------------------------------------------------- /ee/src/main/java/ejb2/hello/HelloHome.java: -------------------------------------------------------------------------------- 1 | package ejb2.hello; 2 | 3 | import java.rmi.RemoteException; 4 | 5 | import javax.ejb.CreateException; 6 | import javax.ejb.EJBHome; 7 | 8 | public interface HelloHome extends EJBHome { 9 | /** Stateless Session beans MUST have one create() method. */ 10 | public Hello create() throws CreateException, RemoteException; 11 | } 12 | -------------------------------------------------------------------------------- /ee/src/main/java/ejb2/hello/Makefile: -------------------------------------------------------------------------------- 1 | CLASSES= Hello.class HelloEJB.class HelloHome.class 2 | 3 | hello.jar: $(CLASSES) 4 | jar cvf hello.jar META-INF $(CLASSES) 5 | 6 | install: hello.jar 7 | cp hello.jar /home/ian/jboss/jboss/deploy 8 | -------------------------------------------------------------------------------- /ee/src/main/java/ejb2/hello/hello.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IanDarwin/javasrc/06049e93ef07923b5a3b9d92e265512c815386e2/ee/src/main/java/ejb2/hello/hello.jar -------------------------------------------------------------------------------- /ee/src/main/java/ejb2/hello/runclient: -------------------------------------------------------------------------------- 1 | #!/bin/ksh 2 | 3 | JBOSSHOME=~/jboss 4 | 5 | CLASSPATH=. 6 | 7 | for thing in ${JBOSSHOME}/client/* 8 | do 9 | if [ -f $thing ]; then 10 | CLASSPATH="$CLASSPATH:$thing" 11 | elif [ -d $thing ]; then 12 | CLASSPATH="$CLASSPATH:$thing" 13 | fi 14 | done 15 | 16 | set -x 17 | 18 | java -classpath $CLASSPATH HelloClient 19 | -------------------------------------------------------------------------------- /ee/src/main/java/ejb2/hello/runclient.bat: -------------------------------------------------------------------------------- 1 | java -cp build;\jboss-3.2.2\client\jbossall-client.jar HelloClient 2 | -------------------------------------------------------------------------------- /ee/src/main/java/ejb2/interfaces/metadata/jndi.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Properties file for the InitialContext constructor to find 3 | # the JBoss JNDI service. 4 | # $Id$ 5 | # 6 | java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory 7 | java.naming.provider.url=jnp://127.0.0.1:1099 8 | #java.naming.provider.url=127.0.0.1 9 | java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces 10 | -------------------------------------------------------------------------------- /ee/src/main/java/ejb2/localinterfaces/.cvsignore: -------------------------------------------------------------------------------- 1 | members.jar 2 | -------------------------------------------------------------------------------- /ee/src/main/java/ejb2/localinterfaces/MemberBean.java: -------------------------------------------------------------------------------- 1 | package ejb2.localinterfaces; 2 | 3 | import javax.ejb.EntityBean; 4 | 5 | // MemberBean.java - LocalHome interface 6 | public abstract class MemberBean implements EntityBean { 7 | // LocalHome methods: 8 | // findByPrimaryKey implemented by Container 9 | 10 | // MemberLocal methods 11 | public abstract String getAddress(); // CMP method! 12 | } 13 | -------------------------------------------------------------------------------- /ee/src/main/java/ejb2/localinterfaces/MemberLocal.java: -------------------------------------------------------------------------------- 1 | package ejb2.localinterfaces; 2 | 3 | import javax.ejb.EJBLocalObject; 4 | 5 | /** MemberLocal.java - Local business interface */ 6 | public interface MemberLocal extends EJBLocalObject { 7 | public String getAddress(); 8 | } 9 | -------------------------------------------------------------------------------- /ee/src/main/java/ejb2/localinterfaces/MemberLocalHome.java: -------------------------------------------------------------------------------- 1 | package ejb2.localinterfaces; 2 | 3 | // MemberLocalHome.java - LocalHome interface 4 | import javax.ejb.EJBLocalHome; 5 | import javax.ejb.FinderException; 6 | 7 | public interface MemberLocalHome extends EJBLocalHome { 8 | public MemberLocal findByPrimaryKey(int id) 9 | throws FinderException; 10 | } 11 | -------------------------------------------------------------------------------- /ee/src/main/java/ejb2/musicrecording/beans/SaleLocalHome.java: -------------------------------------------------------------------------------- 1 | package ejb2.musicrecording.beans; 2 | 3 | import javax.ejb.*; 4 | 5 | /** 6 | * Local Home interface for the "put recordings on sale" Facade. 7 | * @author Ian Darwin 8 | */ 9 | public interface SaleLocalHome extends EJBLocalHome { 10 | 11 | /** Create the session facade */ 12 | public SaleLocal create() throws CreateException; 13 | } 14 | -------------------------------------------------------------------------------- /ee/src/main/java/ejb2/musicrecording/client/jndi.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Properties file for the InitialContext constructor to find 3 | # the JBoss JNDI service. 4 | # $Id$ 5 | # 6 | java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory 7 | java.naming.provider.url=jnp://127.0.0.1:1099 8 | #java.naming.provider.url=127.0.0.1 9 | java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces 10 | -------------------------------------------------------------------------------- /ee/src/main/java/ejb2/musicrecording/setup.sql: -------------------------------------------------------------------------------- 1 | create table music_recordings ( 2 | id int primary key, 3 | artist varchar(20), 4 | title varchar(40), 5 | publisher int, // fkey to publishers 6 | double price, 7 | int stockcount 8 | ); 9 | 10 | create table music_publishers ( 11 | id int primary key, 12 | name varchar(40), 13 | city varchar(40), 14 | phone varchar(20) 15 | ); 16 | -------------------------------------------------------------------------------- /ee/src/main/java/ejb2/serverinfo/README.html: -------------------------------------------------------------------------------- 1 |
This EJB is designed to be hacked up to quickly enable you to 5 | run tests inside the EJB server. The initial version looks up env strings, 6 | but it's pretty easy to hack to look up other values in the 7 | SessionContext or elsewhere. 8 |
9 | -------------------------------------------------------------------------------- /ee/src/main/java/ejb2/serverinfo/bean/META-INF/jboss.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 |This page contains code that deliberately throws an exception
4 | to test out the error handling page.
5 | <% String x = null; %>
6 | <%= x.substring(1) %>
7 |
--------------------------------------------------------------------------------
/ee/src/main/webapp/hello-wml.jsp:
--------------------------------------------------------------------------------
1 | <%@page contentType="text/vnd.wap.wml" import="java.util.*" %>
2 |
3 |
4 | Data current as of <%= new Date() %>
8 | href="#data1>More Details
9 | This is the card called DataOne
Here on our server farm it is now 6 | <%= new Date() %>.
7 | 8 | 9 | -------------------------------------------------------------------------------- /ee/src/main/webapp/hellominimal.jsp: -------------------------------------------------------------------------------- 1 |Server time is now <%= new java.util.Date() %> 3 |
4 | -------------------------------------------------------------------------------- /ee/src/main/webapp/login.jsp: -------------------------------------------------------------------------------- 1 | 5 |This page shows how both include mechanisms work. 2 | Run it, but then go look at the JSP code generated. 3 |
Before jsp-include:
4 |Before at-include
6 | <%@include file="./demo.txt"%> 7 |At end of page
8 | -------------------------------------------------------------------------------- /graal/.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | -------------------------------------------------------------------------------- /graal/src/main/java/graaldemo/JavaCallJS.java: -------------------------------------------------------------------------------- 1 | package graaldemo; 2 | 3 | import java.io.*; 4 | 5 | import org.graalvm.polyglot.*; 6 | 7 | /** 8 | * GraalVM polyglot: calling JavaScript from Java/ 9 | */ 10 | public class JavaCallJS { 11 | 12 | public static void main(String[] args) { 13 | 14 | Context context = Context.create("js"); 15 | Value result = context.eval("js", "2 + 2"); 16 | int i = result.asInt(); 17 | System.out.println(i); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /graal/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | module graaldemo { 2 | requires org.graalvm.polyglot; 3 | } -------------------------------------------------------------------------------- /gradledemo/.gitattributes: -------------------------------------------------------------------------------- 1 | # 2 | # https://help.github.com/articles/dealing-with-line-endings/ 3 | # 4 | # Linux start script should use lf 5 | /gradlew text eol=lf 6 | 7 | # These are Windows script files and should use crlf 8 | *.bat text eol=crlf 9 | 10 | -------------------------------------------------------------------------------- /gradledemo/.gitignore: -------------------------------------------------------------------------------- 1 | # Ignore Gradle project-specific cache directory 2 | .gradle 3 | 4 | # Ignore Gradle build output directory 5 | build 6 | -------------------------------------------------------------------------------- /gradledemo/app/src/main/java/com/example/gradledemo/App.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This Java source file was generated by the Gradle 'init' task. 3 | */ 4 | package com.example.gradledemo; 5 | 6 | public class App { 7 | public String getGreeting() { 8 | return "Hello World!"; 9 | } 10 | 11 | public static void main(String[] args) { 12 | System.out.println(new App().getGreeting()); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /gradledemo/gradle.properties: -------------------------------------------------------------------------------- 1 | # This file was generated by the Gradle 'init' task. 2 | # https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties 3 | 4 | org.gradle.parallel=true 5 | org.gradle.caching=true 6 | 7 | -------------------------------------------------------------------------------- /images/macbuildpath1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IanDarwin/javasrc/06049e93ef07923b5a3b9d92e265512c815386e2/images/macbuildpath1.png -------------------------------------------------------------------------------- /images/macbuildpath2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IanDarwin/javasrc/06049e93ef07923b5a3b9d92e265512c815386e2/images/macbuildpath2.png -------------------------------------------------------------------------------- /incubation/.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | -------------------------------------------------------------------------------- /incubation/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | module javasrc.upcoming { 2 | requires jdk.incubator.vector; 3 | } 4 | -------------------------------------------------------------------------------- /javafx/.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | -------------------------------------------------------------------------------- /jlink/.gitignore: -------------------------------------------------------------------------------- 1 | demo 2 | *.class 3 | *.jar 4 | mini-java 5 | -------------------------------------------------------------------------------- /jlink/README.adoc: -------------------------------------------------------------------------------- 1 | = javasrc jlink demo 2 | 3 | This shows using jlink to build a mini-java distribution with 4 | only the files needed to run one application. 5 | 6 | Because the operation is so simple, Maven was not used. 7 | A single shell script +run+ does everything. 8 | MS-DOS users should use +run.bat+ instead. 9 | -------------------------------------------------------------------------------- /jlink/mkbat: -------------------------------------------------------------------------------- 1 | sed -e 's?/?\\?g' -e 's/^\#/REM/' -e 's/$/ /'
6 |
7 |
8 | Press here to buzz in!
9 |
10 |
11 |
--------------------------------------------------------------------------------
/main/src/main/java/threads/buzzin/WEB-INF/hosts.xml:
--------------------------------------------------------------------------------
1 |
This would be a help file. 5 |
See Also: DarwinSys.com. 6 | 7 | -------------------------------------------------------------------------------- /main/src/main/resources/messages.properties: -------------------------------------------------------------------------------- 1 | ConsoleViewer.message=Hello World! 2 | -------------------------------------------------------------------------------- /main/src/main/resources/messages_es.properties: -------------------------------------------------------------------------------- 1 | ConsoleViewer.message=Bienvenidos, mundo! -------------------------------------------------------------------------------- /main/src/main/resources/new.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IanDarwin/javasrc/06049e93ef07923b5a3b9d92e265512c815386e2/main/src/main/resources/new.gif -------------------------------------------------------------------------------- /main/src/main/resources/pythonfromjava.py: -------------------------------------------------------------------------------- 1 | # Simple Hello in Python 2 | print('Hello from Python') 3 | global meaning 4 | print('Python: Meaning of Life is ' + str(meaning)) 5 | # Python doesn't do strong typing: 6 | meaning = 'Good morning' -------------------------------------------------------------------------------- /main/src/test/java/database/rowsetdata.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IanDarwin/javasrc/06049e93ef07923b5a3b9d92e265512c815386e2/main/src/test/java/database/rowsetdata.xml -------------------------------------------------------------------------------- /main/src/test/java/i18n/EnumIntlTest.java: -------------------------------------------------------------------------------- 1 | package i18n; 2 | 3 | import static org.junit.jupiter.api.Assertions.assertEquals; 4 | 5 | import org.junit.jupiter.api.Test; 6 | 7 | class EnumIntlTest { 8 | @Test 9 | void north() { 10 | assertEquals("North", EnumIntl.NORTH.getDescription()); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /main/src/test/java/numbers/FibonacciTest.java: -------------------------------------------------------------------------------- 1 | package numbers; 2 | 3 | import static org.junit.jupiter.api.Assertions.assertEquals; 4 | 5 | import org.junit.jupiter.api.Test; 6 | 7 | class FibonacciTest { 8 | 9 | int[] expect = { 0, 1, 1, 2, 3, 5, 8, 13, 21, 34 }; 10 | 11 | @Test 12 | void fibonacci() { 13 | for (int i = 0; i < expect.length; i++) { 14 | assertEquals(expect[i], Fibonacci.fibonacci(i), Integer.toString(i)); 15 | } 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /main/src/test/java/regex/RETest.java: -------------------------------------------------------------------------------- 1 | package regex; 2 | 3 | import static org.junit.jupiter.api.Assertions.assertNotNull; 4 | 5 | import java.util.regex.Matcher; 6 | import java.util.regex.Pattern; 7 | import org.junit.jupiter.api.Test; 8 | 9 | class RETest { 10 | @Test 11 | void compile() { 12 | Pattern p = Pattern.compile("^|} .*"); 13 | Matcher m = p.matcher("'''bold'''"); 14 | assertNotNull(m); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /main/src/test/java/tools/JrTestClass.java: -------------------------------------------------------------------------------- 1 | package tools; 2 | 3 | /** This is a key test class for jr. Do not delete! */ 4 | public class JrTestClass { 5 | public static void main(String[] args) { 6 | System.out.println("SUCCESS! Program t compiled and run."); 7 | for (int i = 0; i < args.length; i++) { 8 | System.out.println("JrTest arg[" + i + "] = " + args[i]); 9 | } 10 | } 11 | static { 12 | System.out.println("Class JrTest.clinit<>"); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /main/src/test/resources/dummy.txt: -------------------------------------------------------------------------------- 1 | This directory must exist for maven-eclipse, but git clone will ignore empty 2 | directories, so this dummy file ensures that the directory exists. 3 | -------------------------------------------------------------------------------- /main/src/test/resources/netweb/GetUrlTestData.txt: -------------------------------------------------------------------------------- 1 | 2 |
4 | This file is only useful to test the GetURL class
5 | That's because it has one Anchor,
6 | ,
7 | and one frame (not a very good one).
8 |
--------------------------------------------------------------------------------
/mkzip:
--------------------------------------------------------------------------------
1 | git archive HEAD --output jm03-src.zip --format zip
2 |
--------------------------------------------------------------------------------
/multireleasejar/Data.java:
--------------------------------------------------------------------------------
1 | package mrjdemo;
2 |
3 | // tag::main[]
4 | public class Data {
5 | String type() {
6 | return "class";
7 | }
8 | }
9 | // end::main[]
10 |
--------------------------------------------------------------------------------
/multireleasejar/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Multi-Release: true
2 |
--------------------------------------------------------------------------------
/multireleasejar/Main.java:
--------------------------------------------------------------------------------
1 | package mrjdemo;
2 |
3 | // tag::main[]
4 | public class Main {
5 | public static void main(String[] args) {
6 | var type = new Data().type();
7 | System.out.printf("Run with a Data object of type '%s'.\n", type);
8 | }
9 | }
10 | // end::main[]
11 |
--------------------------------------------------------------------------------
/multireleasejar/versions/16/Data.java:
--------------------------------------------------------------------------------
1 | package mrjdemo;
2 |
3 | // tag::main[]
4 | public record Data() {
5 | public String type() {
6 | return "record";
7 | }
8 | }
9 | // end::main[]
10 |
--------------------------------------------------------------------------------
/restdemo/.gitignore:
--------------------------------------------------------------------------------
1 | target
2 | .settings
3 |
--------------------------------------------------------------------------------
/restdemo/src/main/webapp/WEB-INF/jboss-web.xml:
--------------------------------------------------------------------------------
1 |
2 |