Skip to content
HalBuilder Core
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
src Add implementation for cast'd value
LICENSE-2.0.txt Added license Fix paremeter order in file.
pom.xml Use compiler plugin from style guide tile

Halbuilder is a simple Java API for generating and consuming HAL documents conforming to the HAL Specification.

Generating Local Resources

RepresentationFactory representationFactory = new StandardRepresentationFactory();

Representation owner = representationFactory.newRepresentation("")
  .withLink("td:friend", "")
  .withProperty("name", "Mike")
  .withProperty("age", "36");

Representation halResource = representationFactory.newRepresentation("")
  .withNamespace("td", "{rel}")
  .withLink("td:search", "/todo-list/search;{searchterm}")
  .withLink("td:description", "/todo-list/description")
  .withProperty("created_at", "2010-01-16")
  .withProperty("updated_at", "2010-02-21")
  .withProperty("summary", "An example list")
  .withRepresentation("td:owner", owner);

String xml = halResource.toString(RepresentationFactory.HAL_XML);
String json = halResource.toString(RepresentationFactory.HAL_JSON);

Reading Local Resources

RepresentationFactory representationFactory = new RepresentationFactory();

Representation representation = representationFactory.readRepresentation(
                  new InputStreamReader(Some.class.getResourceAsStream("/test.xml")));

Apache Maven

HalBuilder is deployed to Apache Maven Central under the following coordinates:



More documentation is available from the main website at

Development Forum

Email support and discussion is available on the development forum.

Something went wrong with that request. Please try again.