1 /* 2 * #%L 3 * EUGene :: EUGene 4 * %% 5 * Copyright (C) 2004 - 2010 CodeLutin 6 * %% 7 * This program is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU Lesser General Public License as 9 * published by the Free Software Foundation, either version 3 of the 10 * License, or (at your option) any later version. 11 * 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Lesser Public License for more details. 16 * 17 * You should have received a copy of the GNU General Lesser Public 18 * License along with this program. If not, see 19 * <http://www.gnu.org/licenses/lgpl-3.0.html>. 20 * #L% 21 */ 22 23 package org.nuiton.eugene.models.object; 24 25 /** 26 * Abstraction for the parameter node of object model trees. 27 * This object presents all information concerning the given parameter. 28 * 29 * Created: 14 janv. 2004 30 * 31 * @author Cédric Pineau - pineau@codelutin.com 32 */ 33 public interface ObjectModelParameter extends ObjectModelElement { 34 35 /** 36 * Returns the type of this parameter. 37 * 38 * @return the type of this parameter. 39 */ 40 String getType(); 41 42 /** 43 * Returns the minimal multiplicity of this parameter. 44 * The {@code -1} value means infinite. 45 * 46 * @return the minimal multiplicity of this parameter. 47 */ 48 int getMinMultiplicity(); 49 50 /** 51 * Returns the maximal multiplicity of this parameter. 52 * The {@code -1} value means infinite. 53 * 54 * @return the maximal multiplicity of this parameter. 55 */ 56 int getMaxMultiplicity(); 57 58 /** 59 * true if this parameter is isOrdered 60 * 61 * @return {@code true} if this parameter is isOrdered 62 */ 63 boolean isOrdered(); 64 65 /** 66 * true if this parameter is isUnique 67 * 68 * @return {@code true} if this parameter is isUnique 69 */ 70 boolean isUnique(); 71 72 /** 73 * default value of this parameter 74 * 75 * @return a String for the defaultValue (must be interpreted depending on the parameter type) 76 */ 77 String getDefaultValue(); 78 79 } //ObjectModelParameter