
org.nuiton.eugene.models.object.ObjectModelClass Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of eugene Show documentation
Show all versions of eugene Show documentation
Efficient Universal Generator.
/*
* #%L
* EUGene :: EUGene
*
* $Id: ObjectModelClass.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/ObjectModelClass.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;
/**
* Abstraction for the class node of object model trees.
* This object presents all information concerning the given class.
*
* Created: 14 janv. 2004
*
* @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 : $Author: tchemit $
*/
public interface ObjectModelClass extends ObjectModelClassifier {
/**
* Returns all parent classes for this class.
* @return a Collection containing all parent ObjectModelClass for this class.
*/
Collection getSuperclasses();
/**
* Returns all inner classes for this class.
* @return a Collection containing all inner ObjectModelClass for this class.
*/
Collection getInnerClassifiers();
/**
* // FIXME 20100812 fix javadoc, what is a discrimator and what it is used for ?
* Returns the discriminator for the given superclass.
*
* @param superclass super class to get discriminator
* @return the discriminator for the given superclass as a String if it exists, null otherwise.
*/
String getDiscriminator(ObjectModelClass superclass);
/**
* Returns all known direct specialized classes for this class.
* @return a Collection containing all known direct specialized ObjectModelClass for this class.
*/
Collection getSpecialisations();
/**
* Returns all known direct specialized classes for this class for the specified discriminator.
* @param discriminator discriminator to get specialisations
* @return a Collection containing all known direct specialized ObjectModelClass for this class for the specified discriminator.
*/
Collection getSpecialisations(String discriminator);
/**
* Returns whether this class is abstract or not.
*
* @return a boolean indicating whether this class is abstract or not.
*/
boolean isAbstract();
// /**
// * 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();
/**
* Returns all operations defined on all Super class extended by this
* classifier, directly or indirectly. and all interface implemented by the
* super class.
* @param distinct if this boolean is true only distinct operation
* are add to list.
* @return a Collection of ObjectModelOperation
*/
Collection getAllSuperclassOperations(boolean distinct);
} //ObjectModelClass
© 2015 - 2025 Weber Informatics LLC | Privacy Policy