function(fullName, property, injectionName) {
        if (this.parent) { illegalChildOperation('injection'); }

        validateFullName(injectionName);
        var normalizedInjectionName = this.normalize(injectionName);

        if (fullName.indexOf(':') === -1) {
          return this.typeInjection(fullName, property, normalizedInjectionName);
        }

        validateFullName(fullName);
        var normalizedName = this.normalize(fullName);

        addInjection(this.injections, normalizedName, property, normalizedInjectionName);
      }
function(fullName, property, injectionName) {
        if (this.parent) { illegalChildOperation('injection'); }

        validateFullName(injectionName);
        var normalizedInjectionName = this.normalize(injectionName);

        if (fullName.indexOf(':') === -1) {
          return this.typeInjection(fullName, property, normalizedInjectionName);
        }

        validateFullName(fullName);
        var normalizedName = this.normalize(fullName);

        addInjection(this.injections, normalizedName, property, normalizedInjectionName);
      }
function ( fullName , property , injectionName ) { if ( this . parent ) { illegalChildOperation ( 'injection' ) ; } validateFullName ( injectionName ) ; var normalizedInjectionName = this . normalize ( injectionName ) ; if ( fullName . indexOf ( ':' ) === - 1 ) { return this . typeInjection ( fullName , property , normalizedInjectionName ) ; } validateFullName ( fullName ) ; var normalizedName = this . normalize ( fullName ) ; addInjection ( this . injections , normalizedName , property , normalizedInjectionName ) ; }
Defines injection rules.

These rules are used to inject dependencies onto objects when they
are instantiated.

Two forms of injections are possible:

Injecting one fullName on another fullName
Injecting one fullName on a type

Example:

```javascript
var container = new Container();

container.register('source:main', Source);
container.register('model:user', User);
container.register('model:post', Post);

injecting one fullName on another fullName
eg. each user model gets a post model
container.injection('model:user', 'post', 'model:post');

injecting one fullName on another type
container.injection('model', 'source', 'source:main');

var user = container.lookup('model:user');
var post = container.lookup('model:post');

user.source instanceof Source; //=> true
post.source instanceof Source; //=> true

user.post instanceof Post; //=> true

and both models share the same source
user.source === post.source; //=> true
```

@method injection
@param {String} factoryName
@param {String} property
@param {String} injectionName
Defines injection rules .