MCPcopy Index your code
hub / github.com/apache/tapestry-5

github.com/apache/tapestry-5 @5.9.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release 5.9.1 ↗ · + Follow
22,087 symbols 85,498 edges 3,486 files 5,814 documented · 26%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Tapestry is a component-oriented Java web app framework focusing on performance and developer productivity.

A component is just a reusable part of a page. It's trivially easy to create your own components, and Tapestry comes with a large number of components you can use (Form, Loop, Select, Checkbox, Grid, BeanEditor, etc.).

In Tapestry, each page and component is a simple Java POJO with a corresponding HTML template. The HTML template and corresponding Java class have the same name (e.g. "Breadcrumbs.html" and "Breadcrumbs.java"), so you don't have to tell Tapestry which template uses which Java class. It's automatic.

Tapestry features live class reloading: change your Java code, refresh the browser and see the changes instantly.

AJAX support allows you to create responsive web interfaces while writing little to no JavaScript. (But if you like writing JavaScript, great, no problem, Tapestry gets out of your way.)

Quick Start

Main article: Getting Started

You can let Apache Maven create your initial project for you:

mvn archetype:generate -DarchetypeCatalog=http://tapestry.apache.org

Maven will prompt you for the archetype to create ("Tapestry 5 Quickstart Project") and the Tapestry version number (e.g., "5.4.3"). It also asks you to create a group id, artifact id (e.g., "newapp") and version number for your app. Once Maven dowloads everything, then you can start the app:

$ cd newapp
$ mvn jetty:run

Then just send your browser to http://localhost:8080/newapp

See the Getting Started introduction as well as the Tapestry Tutorial for a deeper dive.

Main Docs

See https://tapestry.apache.org/documentation.html for the details on every Tapestry topic.

Extension points exported contracts — how you extend this code

IntExpression (Interface)
Just for use in Record Classes tests. [12 implementers]
tapestry-latest-java-tests/src/test/java/org/apache/tapestry5/ioc/services/IntExpression.java
ObjectMapperSource (Interface)
Service that provides ObjectMapper instances for specific mapped entity classes. It's defined as an [108 implementers]
tapestry-rest-jackson/src/main/java/org/apache/tapestry5/jacksondatabind/services/ObjectMapperSource.java
ServletContainerRunner (Interface)
Used as a wrapper around code that runs a web server, so that the server may be shut down at the end of the test. @sinc [6 …
tapestry-runner/src/main/java/org/apache/tapestry5/test/ServletContainerRunner.java
AsyncRequestHandler (Interface)
Service whose implementations define whether a given request should be handled asynchronously or not and, if yes, wh [11 …
tapestry-http/src/main/java/org/apache/tapestry5/http/AsyncRequestHandler.java
HibernateTransactionDecorator (Interface)
Service that can create an interceptor that wraps around a service implementation. After invoking service methods marked [29 …
tapestry-hibernate-core/src/main/java/org/apache/tapestry5/hibernate/HibernateTransactionDecorator.java
ClojureBuilder (Interface)
Creates a proxy for the interface that delegates each method to a Clojure function. [29 implementers]
tapestry-clojure/src/main/java/org/apache/tapestry5/clojure/ClojureBuilder.java
Mapper2 (Interface)
A generalization of Mapper for a two-input function. This was converted from to an interface from an abstract b [34 implementers]
tapestry-func/src/main/java/org/apache/tapestry5/func/Mapper2.java
StringTransformer (Interface)
Used in various integration tests. [65 implementers]
tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/test/StringTransformer.java

Core symbols most depended-on inside this repo

call
called by 4558
tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/ParallelExecutorImpl.java
n
called by 2510
tapestry-openapi-viewer/src/main/resources/META-INF/assets/openapiviewer/swagger-ui-bundle.js
n
called by 2510
tapestry-openapi-viewer/src/main/resources/META-INF/assets/openapiviewer/swagger-ui-es-bundle.js
get
called by 2270
tapestry-core/src/main/java/org/apache/tapestry5/Binding.java
n
called by 2116
tapestry-openapi-viewer/src/main/resources/META-INF/assets/openapiviewer/swagger-ui.js
n
called by 2116
tapestry-openapi-viewer/src/main/resources/META-INF/assets/openapiviewer/swagger-ui-es-bundle-core.js
push
called by 1995
tapestry-core/src/main/java/org/apache/tapestry5/runtime/RenderQueue.java
append
called by 1575
tapestry-func/src/main/java/org/apache/tapestry5/func/Flow.java

Shape

Method 15,891
Function 2,745
Class 2,738
Interface 641
Enum 72

Languages

Java87%
TypeScript13%

Modules by API surface

tapestry-openapi-viewer/src/main/resources/META-INF/assets/openapiviewer/swagger-ui-es-bundle.js471 symbols
tapestry-openapi-viewer/src/main/resources/META-INF/assets/openapiviewer/swagger-ui-bundle.js471 symbols
tapestry-core/src/main/resources/META-INF/assets/tapestry5/scriptaculous_1_9_0/prototype.js312 symbols
tapestry-core/src/main/resources/META-INF/assets/tapestry5/moment-2.15.1.js286 symbols
tapestry-openapi-viewer/src/main/resources/META-INF/assets/openapiviewer/swagger-ui-standalone-preset.js203 symbols
tapestry-test/src/main/java/org/apache/tapestry5/test/SeleniumTestCase.java190 symbols
tapestry-openapi-viewer/src/main/resources/META-INF/assets/openapiviewer/swagger-ui.js163 symbols
tapestry-openapi-viewer/src/main/resources/META-INF/assets/openapiviewer/swagger-ui-es-bundle-core.js163 symbols
tapestry-core/src/main/java/org/apache/tapestry5/test/TapestryTestCase.java161 symbols
tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/CoreBehaviorsTests.java120 symbols
tapestry-core/src/main/resources/META-INF/assets/tapestry5/underscore-1.13.6.js114 symbols
tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementImpl.java111 symbols

For agents

$ claude mcp add tapestry-5 \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact