001    package net.sf.tacos.binding;
002    
003    import org.apache.hivemind.Location;
004    import org.apache.tapestry.IBinding;
005    import org.apache.tapestry.IComponent;
006    import org.apache.tapestry.binding.AbstractBindingFactory;
007    import org.apache.tapestry.services.AbsoluteURLBuilder;
008    
009    /**
010     * Implementation of {@link org.apache.tapestry.binding.BindingFactory} that constructs
011     * {@link net.sf.tacos.binding.AbsoluteAssetBinding} instances.
012     * 
013     * @author Andreas Andreou
014     * @since 4.1
015     */
016    public class AbsoluteAssetBindingFactory extends AbstractBindingFactory {
017        
018        private AbsoluteURLBuilder absoluteURLBuilder;
019    
020        public AbsoluteURLBuilder getAbsoluteURLBuilder() {
021            return absoluteURLBuilder;
022        }
023    
024        public void setAbsoluteURLBuilder(AbsoluteURLBuilder absoluteURLBuilder) {
025            this.absoluteURLBuilder = absoluteURLBuilder;
026        }
027            
028        public IBinding createBinding(IComponent root, String description,
029                        String expression, Location location) {
030                return new AbsoluteAssetBinding(description, getValueConverter(), absoluteURLBuilder,
031                        location, root, expression);
032        }
033    
034    }