/*! ******************************************************************************
*
* Pentaho Data Integration
*
* Copyright (C) 2002-2013 by Pentaho : http://www.pentaho.com
*
*******************************************************************************
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
******************************************************************************/
package org.pentaho.di.core;
import java.util.Date;
import org.pentaho.di.core.exception.KettleException;
import org.pentaho.di.repository.ObjectId;
import org.pentaho.di.repository.RepositoryDirectoryInterface;
import org.pentaho.di.repository.RepositoryElementInterface;
public interface EngineMetaInterface extends RepositoryElementInterface {
/**
* Sets the filename.
*
* @param filename
*/
public void setFilename( String filename );
/**
* Gets the name.
*
* @return name
*/
public String getName();
/**
* Builds a name for this. If no name is yet set, create the name from the filename.
*/
public void nameFromFilename();
/**
* Clears the changed flag of this.
*/
public void clearChanged();
/**
* Gets the XML representation.
*
* @return the XML representation of this transformation
* @throws KettleException
* if any errors occur during generation of the XML
* @see org.pentaho.di.core.xml.XMLInterface#getXML()
*/
public String getXML() throws KettleException;
/**
* Gets the file type.
*
* @return the file type
*/
public String getFileType();
/**
* Gets the filter names.
*/
public String[] getFilterNames();
/**
* Gets the filter extensions.
*
* @return the filter extensions
*/
public String[] getFilterExtensions();
/**
* Gets the default extension.
*
* @return default extension
*/
public String getDefaultExtension();
/**
* Set the database ID for this in the repository.
*
* @param id
* the database ID for this in the repository
*/
public void setObjectId( ObjectId id );
/**
* Gets the date the transformation was created.
*
* @return the date the transformation was created
*/
public Date getCreatedDate();
/**
* Sets the date the transformation was created.
*
* @param createdDate
* The creation date to set
*/
public void setCreatedDate( Date date );
/**
* Returns whether or not the this can be saved.
*
* @return
*/
public boolean canSave();
/**
* Gets the user by whom this was created.
*
* @return the user by whom this was created
*/
public String getCreatedUser();
/**
* Sets the user by whom this was created.
*
* @param createdUser
* The user to set
*/
public void setCreatedUser( String createduser );
/**
* Gets the date this was modified.
*
* @return the date this was modified
*/
public Date getModifiedDate();
/**
* Sets the date this was modified.
*
* @param modifiedDate
* The modified date to set
*/
public void setModifiedDate( Date date );
/**
* Sets the user who last modified this.
*
* @param modifiedUser
* The user name to set
*/
public void setModifiedUser( String user );
/**
* Gets the user who last modified this.
*
* @return the user who last modified this
*/
public String getModifiedUser();
/**
* Gets the repository element type.
*
* @return the repository element type
*/
public RepositoryDirectoryInterface getRepositoryDirectory();
/**
* Get the filename (if any).
*
* @return the filename
*/
public String getFilename();
/**
* Saves shared objects, including databases, steps, partition schemas, slave servers, and cluster schemas, to a file.
*
* @throws KettleException
*/
public void saveSharedObjects() throws KettleException;
/**
* Sets the internal kettle variables.
*/
public void setInternalKettleVariables();
}