org.nuiton.eugene.models.Model 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: Model.java 1012 2010-11-28 11:24:27Z tchemit $
* $HeadURL: http://svn.nuiton.org/svn/eugene/tags/eugene-2.6.1/eugene/src/main/java/org/nuiton/eugene/models/Model.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;
import java.util.Map;
/**
* Model.
*
* @version $Revision: 1012 $
*
* Mise a jour: $Date: 2010-11-28 12:24:27 +0100 (Sun, 28 Nov 2010) $
* par : */
public interface Model {
/**
* Plexus role name
*/
String ROLE_NAME = Model.class.getName();
/**
* Returns the name of this model.
*
* @return the name of this model.
*/
String getName();
/**
* Returns the version of this model.
*
* @return the version of this model.
*/
String getVersion();
/**
* 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 key
* @return the value of the found tagValue, or null if the element has no associated tagValue for this name.
*/
String getTagValue(String tagValue);
/**
* Adds the given {@code value} associated to the {@code tagValue}.
*
* Note: If a previous tag value was definied, then it will be replaced.
*
* @param tagValue the name of the tag value
* @param value the value to associate
* @since 2.1.2
*/
void addTagValue(String tagValue, String value);
} //Model