001    package org.trails.component.blob;
002    
003    import org.apache.tapestry.BaseComponent;
004    import org.apache.tapestry.annotations.ComponentClass;
005    import org.apache.tapestry.annotations.Parameter;
006    import org.trails.descriptor.IPropertyDescriptor;
007    
008    /**
009     * @author kenneth.colassi
010     */
011    @ComponentClass(allowBody = true, allowInformalParameters = true)
012    public abstract class BlobComponent extends BaseComponent
013    {
014            @Parameter(required = true, cache = true)
015            public abstract Object getModel();
016    
017            public abstract void setModel(Object model);
018    
019            @Parameter(required = true, cache = true)
020            public abstract IPropertyDescriptor getDescriptor();
021    
022            public abstract void setDescriptor(
023                    IPropertyDescriptor descriptor);
024    
025            @Parameter(required = false, cache = true)
026            public abstract byte[] getBytes();
027    
028            public abstract void setBytes(byte[] bytes);
029    }