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