Naming Conventions - pulse00/Composer-Java-Bindings GitHub Wiki

Naming conventions that help you understand the concepts of the composer-java-api.

Resource

A file containing a package or a repository.

Repositories

Contains multiple packages.

Packages

Contains a single package may have different versions.

Entities

Entities are the raw or abstracted objects in the composer-java-api. Objects represent a certain section (such as the autoload, config, scripts, etc.). Collections represent grouped objects (such as Psr, Dependencies or Persons).

Objects

Objects contain properties, which are key-value pairs in the composer.json (see example below). Properties itself can also be objects or collections.

{
	"name": "gossi/ldap"
}

Example: The name property of the ComposerPackage object.

Collections

Collections contain multiples of the same object.

"require": {
	"php": ">=5.3.0",
	"monolog/monolog": "1.0"
}

Example: require is a Dependencies collection.

"auhtors": [
	{
		"name": "gossi"
	}, 
	{
		"name": "Robert Gründler"
	}
]

Example: authors is a Persons collection