001: /*
002: * Copyright 2006 Pentaho Corporation. All rights reserved.
003: * This software was developed by Pentaho Corporation and is provided under the terms
004: * of the Mozilla Public License, Version 1.1, or any later version. You may not use
005: * this file except in compliance with the license. If you need a copy of the license,
006: * please go to http://www.mozilla.org/MPL/MPL-1.1.txt. The Original Code is the Pentaho
007: * BI Platform. The Initial Developer is Pentaho Corporation.
008: *
009: * Software distributed under the Mozilla Public License is distributed on an "AS IS"
010: * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. Please refer to
011: * the license for the specific language governing your rights and limitations.
012: *
013: * @created Jul 7, 2005
014: * @author Marc Batchelor
015: *
016: */
017:
018: package org.pentaho.core.repository;
019:
020: import java.math.BigDecimal;
021: import java.util.Collection;
022: import java.util.Date;
023: import java.util.List;
024: import java.util.Map;
025: import java.util.Set;
026:
027: public interface IRuntimeElement {
028: /**
029: * @return Returns the parent ID
030: */
031: public String getParentId();
032:
033: /**
034: * @param parentId
035: * The parentId to set.
036: */
037: public void setParentId(String parentId);
038:
039: /**
040: * @return Returns the parent Type
041: */
042: public String getParentType();
043:
044: /**
045: * @param parentType
046: * The parent type to set
047: */
048: public void setParentType(String parentType);
049:
050: /**
051: * @return Returns the instance Id
052: */
053: public String getInstanceId();
054:
055: /**
056: * @param instanceId
057: * The instance Id to set
058: */
059: public void setInstanceId(String instanceId);
060:
061: /**
062: * @return Returns the solution Id.
063: */
064: public String getSolutionId();
065:
066: /**
067: * @param solutionId
068: * The solution Id to set
069: */
070: public void setSolutionId(String solutionId);
071:
072: /**
073: * @return Returns the revision (updated by Hibernate)
074: */
075: public int getRevision();
076:
077: /**
078: * Gets a string property from the Runtime Element.
079: *
080: * @param key
081: * The key of the property
082: * @return The value of the property, or NULL if the property doesn't exist.
083: */
084: public String getStringProperty(String key);
085:
086: /**
087: * Gets a string property from the Runtime Element.
088: *
089: * @param key
090: * The key of the property
091: * @param defaultValue
092: * The value to return if the property doesn't exist
093: * @return The value of the property.
094: */
095: public String getStringProperty(String key, String defaultValue);
096:
097: /**
098: * Sets a string property in the Runtime Element. Special implementation
099: * note - Null values aren't supported in the Map. So, if a null value is
100: * passed in, this implementation will remove the entry from the Runtime
101: * Element.
102: *
103: * @param key
104: * The key of the property to set
105: * @param value
106: * The value to associate with the key
107: */
108: public void setStringProperty(String key, String value);
109:
110: /**
111: * Gets a BigDecimal property from the Runtime Element.
112: *
113: * @param key
114: * The key of the property
115: * @return The value of the property, or null if the property doesn't exist.
116: */
117: public BigDecimal getBigDecimalProperty(String key);
118:
119: /**
120: * Gets a BigDecimal property from the Runtime Element.
121: *
122: * @param key
123: * The key of the property
124: * @param defaultValue
125: * The value to return if the property doesn't exist
126: * @return The value of the property, or defaultValue if the property
127: * doesn't exist.
128: */
129: public BigDecimal getBigDecimalProperty(String key,
130: BigDecimal defaultValue);
131:
132: /**
133: * Sets a BigDecimal property in the Runtime Element. Special implementation
134: * note - Null values aren't supported in the Map. So, if a null value is
135: * passed in, this implementation will remove the entry from the Runtime
136: * Element.
137: *
138: * @param key
139: * The key of the property to set
140: * @param value
141: * The value to associate with the key.
142: */
143: public void setBigDecimalProperty(String key, BigDecimal value);
144:
145: /**
146: * Gets a Date property from the Runtime Element.
147: *
148: * @param key
149: * The key of the property
150: * @return The value of the property, or NULL if the property doesn't exist.
151: */
152: public Date getDateProperty(String key);
153:
154: /**
155: * Gets a Date property from the Runtime Element.
156: *
157: * @param key
158: * The key of the property
159: * @param defaultValue
160: * The value to return if the property doesn't exist
161: * @return The value of the property, or defaultValue if the property
162: * doesn't exist.
163: */
164: public Date getDateProperty(String key, Date defaultValue);
165:
166: /**
167: * Sets a Date property in the Runtime Element. Special implementation note -
168: * Null values aren't supported in the Map. So, if a null value is passed
169: * in, this implementation will remove the entry from the Runtime Element.
170: *
171: * @param key
172: * The key of the property to set
173: * @param value
174: * The value to associate with the key.
175: */
176: public void setDateProperty(String key, Date value);
177:
178: /**
179: * Gets a Long property from the Runtime Element.
180: *
181: * @param key
182: * The key of the property
183: * @param defaultValue
184: * The value to return if the property doesn't exist
185: * @return The value of the property, or defaultValue if the property
186: * doesn't exist.
187: */
188: public Long getLongProperty(String key, Long defaultValue);
189:
190: /**
191: * Gets a property from the paramMap as a long using a default value if it
192: * doesn't exist in the map
193: *
194: * @param key
195: * Key in the paramMap
196: * @param defaultValue
197: * The default value if the property doesn't exist in the
198: * paramMap.
199: * @return The property in the map.
200: */
201: public long getLongProperty(String key, long defaultValue);
202:
203: /**
204: * Sets a Long property in the Runtime Element.
205: *
206: * @param key
207: * The key of the property to set
208: * @param value
209: * The value to associate with the key.
210: */
211: public void setLongProperty(String key, Long value);
212:
213: /**
214: * Sets a Long property in the Runtime Element. Special implementation note -
215: * Null values aren't supported in the Map. So, if a null value is passed
216: * in, this implementation will remove the entry from the Runtime Element.
217: *
218: * @param key
219: * The key of the property to set
220: * @param value
221: * The value to associate with the key. Note - A new Long object
222: * is constructed and stored.
223: */
224: public void setLongProperty(String key, long value);
225:
226: /**
227: * Gets a List property from the Runtime Element
228: *
229: * @param key
230: * The key of the property to get
231: * @return The list associated with the key, or NULL if it doesn't exist.
232: */
233: public List getListProperty(String key);
234:
235: /**
236: * Gets a Map property from the Runtime Element Special implementation note -
237: * Null values aren't supported in the Map. So, if a null value is passed
238: * in, this implementation will remove the entry from the Runtime Element.
239: *
240: * @param key
241: * The key of the property to get
242: * @return The Map associated with the key, or NULL if it doesn't exist.
243: */
244: public Map getMapProperty(String key);
245:
246: /**
247: * Sets a List Property in the Runtime Element
248: *
249: * @param key
250: * The key of the property to set
251: * @param value
252: * The List value to associate with the key.
253: */
254: public void setListProperty(String key, List value);
255:
256: /**
257: * Sets a Map Property in the Runtime Element Special implementation note -
258: * Null values aren't supported in the Map. So, if a null value is passed
259: * in, this implementation will remove the entry from the Runtime Element.
260: *
261: * @param key
262: * The key of the property to set
263: * @param value
264: * The Map value to associate with the key.
265: */
266: public void setMapProperty(String key, Map value);
267:
268: /**
269: * @return A string containing the XML representation of the Runtime Element
270: */
271: public String toXML();
272:
273: /**
274: * @return Returns the loggingLevel.
275: */
276: public int getLoggingLevel();
277:
278: /**
279: * @param allowableReadAttributeNames
280: * The names of the attributes that this process is allowed to
281: * read.
282: */
283: public void setAllowableAttributeNames(
284: Collection allowableReadAttributeNames);
285:
286: /**
287: * @return The set of currently defined parameter names
288: */
289: public Set getParameterNames();
290:
291: /**
292: * Gets the type of the parameter
293: *
294: * @param name
295: * Parameter name
296: * @return String type of the parameter
297: */
298: public String getParameterType(String name);
299:
300: public void setLoaded(boolean value);
301:
302: public boolean getLoaded();
303:
304: /**
305: * Causes an immediate call to the underlying persistence mechanism's
306: * write-now method. For Hibernate, this results in a call to
307: * HibernateUtil.flush().
308: */
309: public void forceSave();
310:
311: }
|