Subversion Repositories SmartDukaan

Rev

Rev 7997 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

/**
 * 
 */
package in.shop2020.metamodel.core;


import in.shop2020.metamodel.util.MetaModelComponent;

import java.util.List;

/**
 * Corresponds to single product feature in shop2020 meta-model. Facts about 
 * a feature are captured in the form of list of Bullets and free-form content.
 * 
 * @author naveen
 *
 */
public class Feature extends MetaModelComponent {
        /**
         * 
         */
        private static final long serialVersionUID = 1L;
        
        Feature() {
        }

        /**
         * Reference to Feature's Definition object
         */
        private long featureDefinitionID;
        
        /**
         * List of Bullets that capture structured and un-structured data about a
         * feature.
         */
        private List<Bullet> bullets;
        
        /**
         * Un-structured data about a feature
         */
        private FreeformContent freeformContent;
        
        /**
         * 
         * @param featureDefinitionID Feature Definition ID
         */
        public Feature(long featureDefinitionID) {
                this.featureDefinitionID = featureDefinitionID;
        }
        
        /**
         * 
         * @return featureDefinitionID Feature Definition ID
         */
        public long getFeatureDefinitionID() {
                return this.featureDefinitionID;
        }

        /**
         * 
         * @return featureDefinitionID Feature Definition ID
         */
        public void setFeatureDefinitionID(long featureDefinitionID) {
                this.featureDefinitionID = featureDefinitionID;
        }

    /**
     * 
     * @return bullets
     *     
     */
    public List<Bullet> getBullets() {
        return this.bullets;
    }

    /**
     * Handy function to check existence of bullets
     * 
     * @return boolean
     */
    public boolean hasBullets() {
        return !(this.bullets == null || this.bullets.isEmpty());
    }
    
    /**
     * 
     * @param value Bullets to set
     *     
     */
    public void setBullets(List<Bullet> value) {
        this.bullets = value;
    }

    /**
     * 
     * @return freeformContent
     *     
     */
    public FreeformContent getFreeformContent() {
        return this.freeformContent;
    }

    /**
     * 
     * @param value Free-form content to set
     *     
     */
    public void setFreeformContent(FreeformContent value) {
        this.freeformContent = value;
    }

        /* (non-Javadoc)
         * @see java.lang.Object#toString()
         */
        @Override
        public String toString() {
                return "Feature [bullets=" + bullets + ", featureDefinitionID="
                                + featureDefinitionID + ", freeformContent=" + freeformContent
                                + "]";
        }

}