
org.nuiton.eugene.models.object.ObjectModelClassifier Maven / Gradle / Ivy
/*
* #%L
* EUGene :: EUGene
*
* $Id: ObjectModelClassifier.java 1012 2010-11-28 11:24:27Z tchemit $
* $HeadURL: http://svn.nuiton.org/svn/eugene/tags/eugene-2.4.2/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelClassifier.java $
* %%
* Copyright (C) 2004 - 2010 CodeLutin
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Lesser Public License for more details.
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
* .
* #L%
*/
package org.nuiton.eugene.models.object;
import java.util.Collection;
/**
* ObjectModelClassifier.
*
* @author Cédric Pineau
* Copyright Code Lutin
* @version $Revision: 1012 $
*
* Last update : $Date: 2010-11-28 12:24:27 +0100 (Sun, 28 Nov 2010) $
* by : */
public interface ObjectModelClassifier extends ObjectModelElement {
/**
* Returns the package name of this classifier.
*
* @return the package name of this classifier.
*/
String getPackageName();
/**
* Returns the qualified name of this classifier.
* Class qualified name is composed of the package name and the classifier name.
*
* @return the qualified name of this classifier.
*/
String getQualifiedName();
/**
* Returns all parent interfaces for this classifier.
*
* @return a Collection containing all parent ObjectModelInterface for this classifier.
*/
Collection getInterfaces();
/**
* Returns all operations defined on this classifier.
*
* @param name name of operation should be returned
* @return a Collection containing all ObjectModelOperation for this classifier.
*
* @see ObjectModelOperation
*/
Collection getOperations(String name);
/**
* Returns all operations defined on this classifier.
* @see ObjectModelOperation
*
* @return a Collection containing all ObjectModelOperation for this classifier.
*/
Collection getOperations();
/**
* Returns all operations defined on all interfaces implemented by this
* classifier, directly or indirectly.
* @param distinct if this boolean is true only distinct operation
* are add to list.
* @return a Collection of ObjectModelOperation
*/
Collection getAllInterfaceOperations(
boolean distinct);
/**
* Returns all operations defined on all implemented by this
* classifier, directly or indirectly. For interface this methode return
* the same result as getAllInterfaceOperations, for Class this
* method add all operation of SuperClass.
* @param distinct if this boolean is true only distinct operation
* are add to list.
* @return a Collection of ObjectModelOperation
*/
Collection getAllOtherOperations(
boolean distinct);
/**
* Returns all attributes defined on this class.
* @see ObjectModelAttribute
*
* @return a Collection containing all ObjectModelAttribute for this class.
*/
Collection getAttributes();
/**
* Returns the attribute corresponding to the given name, or null if the class contains no attribute for this name.
*
* @param attributeName attribute name
* @return the ObjectModelAttribute of the found attribute, or null if the class contains no attribute for this name.
*/
ObjectModelAttribute getAttribute(String attributeName);
/**
* Returns all attributes defined on all interfaces implemented by this
* classifier, directly or indirectly.
* @return a Collection of ObjectModelAttribute
*/
Collection getAllInterfaceAttributes();
/**
* Returns all attributes defined on all super class extended by this
* classifier, directly or indirectly.
* @return a Collection of ObjectModelAttribute
*/
Collection getAllOtherAttributes();
/**
* Returns all dependencies of this client classifier
*
* @return a Collection of ObjectModelDependency
*/
Collection getDependencies();
/**
* Return a dependency identifier by her name
* @param name of the dependency
* @return the dependency
*/
ObjectModelDependency getDependency(String name);
/**
* Returns whether this classifier is a class or not
* @see ObjectModelClass
*
* @return a boolean indicating whether this classifier is a class or not.
*/
boolean isClass();
/**
* Returns whether this classifier is an interface or not
* @see ObjectModelInterface
*
* @return a boolean indicating whether this classifier is an interface or not.
*/
boolean isInterface();
/**
* Returns whether this classifier is an enumeration or not
* @see ObjectModelEnumeration
*
* @return a boolean indicating whether this classifier is an enumeration or not.
*/
boolean isEnum();
/**
* Returns whether this class is inner an other class or not.
*
* @return a boolean indicating whether this class is inner an other class or not.
*/
boolean isInner();
} //ObjectModelClassifier
© 2015 - 2025 Weber Informatics LLC | Privacy Policy