org.nuiton.eugene.models.object.ObjectModelElement Maven / Gradle / Ivy
/*
* #%L
* EUGene :: EUGene
*
* $Id: ObjectModelElement.java 1014 2010-11-28 20:13:58Z tchemit $
* $HeadURL: http://svn.nuiton.org/svn/eugene/tags/eugene-2.3.2/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelElement.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;
import java.util.List;
import java.util.Map;
/**
* ObjectModelElement.
*
* @author Cédric Pineau
* Copyright Code Lutin
* @version $Revision: 1014 $
*
* Last update : $Date: 2010-11-28 21:13:58 +0100 (Sun, 28 Nov 2010) $
* by : */
public interface ObjectModelElement {
/**
* Returns the name of this element.
*
* @return the name of this element.
*/
String getName();
/**
* Returns the element in which this element is defined, or null if there's none.
*
* @return the ObjectModelElement in which this element is defined, or null if there's none.
*/
ObjectModelElement getDeclaringElement();
/**
* Returns the whole documentation associated with this element (description + source documentation).
*
* @return the whole documentation associated with this element.
*/
String getDocumentation();
/**
* The description of this element is the upper part of the element's
* documentation.
*
* The other part of the document can be accessed with
* {@link #getSourceDocumentation()}
*
* @return the description associated with this element.
*/
String getDescription();
/**
* Returns the source documentation part associated with this element.
* Source documentation is at end of documentation and are separated of
* over documentation by "--"
*
* @return the source documentation part associated with this element.
*/
String getSourceDocumentation();
/**
* Returns the stereotypes names associated with this element.
*
* @return a Collection containing all stereotypes names associated with this element as String.
*/
Collection getStereotypes();
/**
* Returns whether this element has a stereotype corresponding to the given name, or not.
*
* @param stereotypeName stereotype name
* @return a boolean indicating whether this element has a stereotype corresponding to the given name, or not.
*/
boolean hasStereotype(String stereotypeName);
/**
* Returns the tagValues associated with this element.
* For each entry, the key is the name of the tagValue, the value is the value of the tagValue :-)
*
* @return a Map containing all tagValues associated with this element
*/
Map getTagValues();
/**
* Returns the tagValue corresponding to the given name, or null if the element has no associated tagValue for this name.
*
* @param tagValue tag value name
* @return the value of the found tagValue, or null if the element has no associated tagValue for this name.
*/
String getTagValue(String tagValue);
/**
* Returns whether this element has a tagValue corresponding to the given name, or not.
*
* @param tagValue tag value name
* @return a boolean indicating whether this element has a tagValue corresponding to the given name, or not.
*/
boolean hasTagValue(String tagValue);
/**
* Return if this element has static declaration, only valid when
* getDeclaringElement is classifier. Not possible for the moment
* to have static innerClass (from XMI 1.2 and 2.1).
* @return true if element is static
*/
boolean isStatic();
/**
* Returns all comments lied to this particular model element
*
* @return a List containing all comments for this element as Strings.
*/
List getComments();
} //ObjectModelElement
© 2015 - 2025 Weber Informatics LLC | Privacy Policy