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 Dec 20, 2006
014: * @author James Dixon
015: *
016: */
017:
018: package org.pentaho.core.output;
019:
020: import org.pentaho.core.repository.IContentItem;
021: import org.pentaho.core.session.IPentahoSession;
022: import org.pentaho.core.solution.MimeTypeListener;
023:
024: /**
025: * Interface for a class used to stream contents from a Pentaho action sequence to a destination of some kind, e.g. file, database, content management system (CMS)
026: * @author jdixon
027: *
028: */
029: public interface IContentOutputHandler extends MimeTypeListener {
030:
031: /**
032: * Returns a content item that can be used to stream content to a destination of some kind
033: */
034: public IContentItem getFileOutputContentItem();
035:
036: /**
037: * @return Returns the actionName.
038: */
039: public String getActionName();
040:
041: /**
042: * @param actionName The actionName to set.
043: */
044: public void setActionName(String actionName);
045:
046: /**
047: * @return Returns the handlerId.
048: */
049: public String getHandlerId();
050:
051: /**
052: * @param handlerId The handlerId to set.
053: */
054: public void setHandlerId(String handlerId);
055:
056: /**
057: * @return Returns the instanceId.
058: */
059: public String getInstanceId();
060:
061: /**
062: * @param instanceId The instanceId to set.
063: */
064: public void setInstanceId(String instanceId);
065:
066: /**
067: * @return Returns the mimeType.
068: */
069: public String getMimeType();
070:
071: /**
072: * @param mimeType The mimeType to set.
073: */
074: public void setMimeType(String mimeType);
075:
076: /**
077: * @return Returns the session.
078: */
079: public IPentahoSession getSession();
080:
081: /**
082: * @param session The session to set.
083: */
084: public void setSession(IPentahoSession session);
085:
086: /**
087: * @return Returns the solutionName.
088: */
089: public String getSolutionName();
090:
091: /**
092: * @param solutionName The solutionName to set.
093: */
094: public void setSolutionName(String solutionName);
095:
096: /**
097: * @return Returns the solutionPath.
098: */
099: public String getSolutionPath();
100:
101: /**
102: * @param solutionPath The solutionPath to set.
103: */
104: public void setSolutionPath(String solutionPath);
105:
106: /**
107: * @return Returns the contentRef.
108: */
109: public String getContentRef();
110:
111: /**
112: * @param contentRef The path and name of the content to be stored. This comes from the <file> definition in the outputs section of the Action Sequence
113: */
114: public void setContentRef(String contentRef);
115:
116: }
|