/*! * This program is free software; you can redistribute it and/or modify it under the * terms of the GNU Lesser General Public License, version 2.1 as published by the Free Software * Foundation. * * You should have received a copy of the GNU Lesser General Public License along with this * program; if not, you can obtain a copy at http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html * or from the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * * 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 Lesser General Public License for more details. * * Copyright (c) 2002-2013 Pentaho Corporation.. All rights reserved. */ package org.pentaho.platform.api.repository; import java.math.BigDecimal; import java.util.Collection; import java.util.Date; import java.util.List; import java.util.Map; import java.util.Set; public interface IRuntimeElement { /** * @return Returns the parent ID */ public String getParentId(); /** * @param parentId * The parentId to set. */ public void setParentId( String parentId ); /** * @return Returns the parent Type */ public String getParentType(); /** * @param parentType * The parent type to set */ public void setParentType( String parentType ); /** * @return Returns the instance Id */ public String getInstanceId(); /** * @param instanceId * The instance Id to set */ public void setInstanceId( String instanceId ); /** * @return Returns the solution Id. */ public String getSolutionId(); /** * @param solutionId * The solution Id to set */ public void setSolutionId( String solutionId ); /** * @return Returns the revision (updated by Hibernate) */ public int getRevision(); /** * Gets a string property from the Runtime Element. * * @param key * The key of the property * @return The value of the property, or NULL if the property doesn't exist. */ public String getStringProperty( String key ); /** * Gets a string property from the Runtime Element. * * @param key * The key of the property * @param defaultValue * The value to return if the property doesn't exist * @return The value of the property. */ public String getStringProperty( String key, String defaultValue ); /** * Sets a string property in the Runtime Element. Special implementation note - Null values aren't supported in * the Map. So, if a null value is passed in, this implementation will remove the entry from the Runtime Element. * * @param key * The key of the property to set * @param value * The value to associate with the key */ public void setStringProperty( String key, String value ); /** * Gets a BigDecimal property from the Runtime Element. * * @param key * The key of the property * @return The value of the property, or null if the property doesn't exist. */ public BigDecimal getBigDecimalProperty( String key ); /** * Gets a BigDecimal property from the Runtime Element. * * @param key * The key of the property * @param defaultValue * The value to return if the property doesn't exist * @return The value of the property, or defaultValue if the property doesn't exist. */ public BigDecimal getBigDecimalProperty( String key, BigDecimal defaultValue ); /** * Sets a BigDecimal property in the Runtime Element. Special implementation note - Null values aren't supported * in the Map. So, if a null value is passed in, this implementation will remove the entry from the Runtime * Element. * * @param key * The key of the property to set * @param value * The value to associate with the key. */ public void setBigDecimalProperty( String key, BigDecimal value ); /** * Gets a Date property from the Runtime Element. * * @param key * The key of the property * @return The value of the property, or NULL if the property doesn't exist. */ public Date getDateProperty( String key ); /** * Gets a Date property from the Runtime Element. * * @param key * The key of the property * @param defaultValue * The value to return if the property doesn't exist * @return The value of the property, or defaultValue if the property doesn't exist. */ public Date getDateProperty( String key, Date defaultValue ); /** * Sets a Date property in the Runtime Element. Special implementation note - Null values aren't supported in the * Map. So, if a null value is passed in, this implementation will remove the entry from the Runtime Element. * * @param key * The key of the property to set * @param value * The value to associate with the key. */ public void setDateProperty( String key, Date value ); /** * Gets a Long property from the Runtime Element. * * @param key * The key of the property * @param defaultValue * The value to return if the property doesn't exist * @return The value of the property, or defaultValue if the property doesn't exist. */ public Long getLongProperty( String key, Long defaultValue ); /** * Gets a property from the paramMap as a long using a default value if it doesn't exist in the map * * @param key * Key in the paramMap * @param defaultValue * The default value if the property doesn't exist in the paramMap. * @return The property in the map. */ public long getLongProperty( String key, long defaultValue ); /** * Sets a Long property in the Runtime Element. * * @param key * The key of the property to set * @param value * The value to associate with the key. */ public void setLongProperty( String key, Long value ); /** * Sets a Long property in the Runtime Element. Special implementation note - Null values aren't supported in the * Map. So, if a null value is passed in, this implementation will remove the entry from the Runtime Element. * * @param key * The key of the property to set * @param value * The value to associate with the key. Note - A new Long object is constructed and stored. */ public void setLongProperty( String key, long value ); /** * Gets a List property from the Runtime Element * * @param key * The key of the property to get * @return The list associated with the key, or NULL if it doesn't exist. */ @SuppressWarnings( "rawtypes" ) public List getListProperty( String key ); /** * Gets a Map property from the Runtime Element Special implementation note - Null values aren't supported in the * Map. So, if a null value is passed in, this implementation will remove the entry from the Runtime Element. * * @param key * The key of the property to get * @return The Map associated with the key, or NULL if it doesn't exist. */ @SuppressWarnings( "rawtypes" ) public Map getMapProperty( String key ); /** * Sets a List Property in the Runtime Element * * @param key * The key of the property to set * @param value * The List value to associate with the key. */ @SuppressWarnings( "rawtypes" ) public void setListProperty( String key, List value ); /** * Sets a Map Property in the Runtime Element Special implementation note - Null values aren't supported in the * Map. So, if a null value is passed in, this implementation will remove the entry from the Runtime Element. * * @param key * The key of the property to set * @param value * The Map value to associate with the key. */ @SuppressWarnings( "rawtypes" ) public void setMapProperty( String key, Map value ); /** * @return A string containing the XML representation of the Runtime Element */ public String toXML(); /** * @return Returns the loggingLevel. */ public int getLoggingLevel(); /** * @param allowableReadAttributeNames * The names of the attributes that this process is allowed to read. */ @SuppressWarnings( "rawtypes" ) public void setAllowableAttributeNames( Collection allowableReadAttributeNames ); /** * @return The set of currently defined parameter names */ @SuppressWarnings( "rawtypes" ) public Set getParameterNames(); /** * Gets the type of the parameter * * @param name * Parameter name * @return String type of the parameter */ public String getParameterType( String name ); public void setLoaded( boolean value ); public boolean getLoaded(); /** * Causes an immediate call to the underlying persistence mechanism's write-now method. For Hibernate, this * results in a call to HibernateUtil.flush(). */ public void forceSave(); }