Subversion Repositories SmartDukaan

Rev

Blame | Last modification | View Log | RSS feed

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

import in.shop2020.metamodel.definitions.Catalog;
import in.shop2020.metamodel.definitions.ChildSlideDefinition;
import in.shop2020.metamodel.definitions.DefinitionsContainer;
import in.shop2020.metamodel.definitions.SlideDefinition;

/**
 * Utility class that supports ChildSlideDefinition class. All related 
 * objects are fetched from database and aggregated here.
 *
 * @author Amit
 *
 */
public class ExpandedChildSlideDefinition extends ChildSlideDefinition{
        
        /**
         * Expanded from SlideDefinition ID
         * 
         */
        private ExpandedSlideDefinition expandedSlideDefinition;

        /**
         * 
         */
        private static final long serialVersionUID = 1L;

        /**
         * Takes CategorySlideDefinition object as input and converts all references 
         * into corresponding detail objects
         * 
         * @param slideDefinitionID Slide Definition ID
         * @throws Exception 
         */
        public ExpandedChildSlideDefinition(
                        ChildSlideDefinition childSlideDefinition) throws Exception {
                
                super(childSlideDefinition.getId());
                
                // Copy rest of the properties
                this.setEditorialImportance(
                                childSlideDefinition.getEditorialImportance());
                
                // Expand Slide Definition
                DefinitionsContainer defs = 
                        Catalog.getInstance().getDefinitionsContainer();
                
                SlideDefinition slideDef = 
                        defs.getSlideDefinition(super.getId());
                
                this.expandedSlideDefinition = new ExpandedSlideDefinition(slideDef);
        }

        /**
         * @return the expandedSlideDefinition Expanded Slide Definition object
         */
        public ExpandedSlideDefinition getExpandedSlideDefinition() {
                return expandedSlideDefinition;
        }

        /* (non-Javadoc)
         * @see java.lang.Object#toString()
         */
        @Override
        public String toString() {
                return "ExpandedChildSlideDefinition [expandedSlideDefinition="
                                + getExpandedSlideDefinition() +", getEditorialImportance()="
                                + getEditorialImportance() + ", getId()="
                                + getId() + "]";
        }

}