001    // license-header java merge-point
002    //
003    // Attention: generated code (by Metafacade.vsl) - do not modify!
004    //
005    package org.andromda.cartridges.java.metafacades;
006    
007    import org.andromda.metafacades.uml.ClassifierFacade;
008    
009    /**
010     * <p>
011     * Represents a Java class.
012     * </p>
013     *
014     * Metafacade interface to be used by AndroMDA cartridges.
015     */
016    public interface JavaClass
017        extends ClassifierFacade
018    {
019        /**
020         * Indicates the metafacade type (used for metafacade mappings).
021         *
022         * @return boolean always <code>true</code>
023         */
024        public boolean isJavaClassMetaType();
025    
026        /**
027         * <p>
028         * The fully qualified inteface implementation name.
029         * </p>
030         * @return String
031         */
032        public String getFullyQualifiedInterfaceImplementationName();
033    
034        /**
035         * <p>
036         * The name of the interface implementation.
037         * </p>
038         * @return String
039         */
040        public String getInterfaceImplementationName();
041    
042        /**
043         * <p>
044         * Whether or not the inteface implementation should be an abstract
045         * class.
046         * </p>
047         * @return boolean
048         */
049        public boolean isAbstractInterfaceImplementation();
050    }