Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 // Copyright 2006, 2007, 2010 The Apache Software Foundation
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
 // You may obtain a copy of the License at
 // Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// See the License for the specific language governing permissions and
// limitations under the License.
Worker for the org.apache.tapestry5.ioc.annotations.Inject annotation that delegates out to the master to access the value. This worker must be scheduled after certain other workers, such as BlockInjectionProvider (which is keyed off a combination of type and the Inject annotation).

public class DefaultInjectionProvider implements InjectionProvider
    private final ObjectLocator locator;
    public DefaultInjectionProvider(MasterObjectProvider masterObjectProviderObjectLocator locator)
        this. = masterObjectProvider;
        this. = locator;
    public boolean provideInjection(String fieldNameClass fieldTypeObjectLocator locator,
            final ClassTransformation transformationMutableComponentModel componentModel)
        // I hate special cases, but we have a conflict between the ObjectProvider contributed so as to inject
        // the global application messages into services, and the injection of per-component Messages into components.
        // For yet other reasons, this InjectionProvider gets invoked before CommonResources, and will attempt
        // to inject the wrong Messages (the global application messages, not the component messages) ... so we
        // make a special check here.
        if (fieldType.equals(Messages.class))
            return false;
        TransformField field = transformation.getField(fieldName);
        Object injectionValue = .provide(fieldTypefieldthis.false);
        // Null means that no ObjectProvider could provide the value. We have set up the chain of
        // command so that InjectResources can give it a try next. Later, we'll try to match against
        // a service.
        if (injectionValue != null)
            return true;
        return false;
New to GrepCode? Check out our FAQ X