/*
* IronJacamar, a Java EE Connector Architecture implementation
* Copyright 2015, Red Hat Inc, and individual contributors
* as indicated by the @author tags. See the copyright.txt file in the
* distribution for a full listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the Eclipse Public License 1.0 as
* published by the Free Software Foundation.
*
* This software 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 Eclipse
* Public License for more details.
*
* You should have received a copy of the Eclipse Public License
* along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
package org.ironjacamar.core.api.workmanager;
import org.ironjacamar.core.spi.graceful.GracefulShutdown;
import org.ironjacamar.core.spi.security.Callback;
import org.ironjacamar.core.spi.security.SecurityIntegration;
import org.ironjacamar.core.spi.transaction.xa.XATerminator;
import javax.resource.spi.ResourceAdapter;
import org.jboss.threads.BlockingExecutor;
/**
* The JBoss specific work manager interface
*/
public interface WorkManager extends javax.resource.spi.work.WorkManager, GracefulShutdown, Cloneable
{
/**
* Get the unique id of the work manager
* @return The value
*/
public String getId();
/**
* Set the id of the work manager
* @param v The value
*/
public void setId(String v);
/**
* Get the name of the work manager
* @return The value
*/
public String getName();
/**
* Set the name of the work manager
* @param v The value
*/
public void setName(String v);
/**
* Set the resource adapter
* @param ra The handle
*/
public void setResourceAdapter(ResourceAdapter ra);
/**
* Retrieve the executor for short running tasks
* @return The executor
*/
public StatisticsExecutor getShortRunningThreadPool();
/**
* Set the executor for short running tasks
* @param executor The executor
*/
public void setShortRunningThreadPool(BlockingExecutor executor);
/**
* Retrieve the executor for long running tasks
* @return The executor
*/
public StatisticsExecutor getLongRunningThreadPool();
/**
* Set the executor for long running tasks
* @param executor The executor
*/
public void setLongRunningThreadPool(BlockingExecutor executor);
/**
* Get the XATerminator
* @return The XA terminator
*/
public XATerminator getXATerminator();
/**
* Set the XATerminator
* @param xaTerminator The XA terminator
*/
public void setXATerminator(XATerminator xaTerminator);
/**
* Is spec compliant
* @return True if spec compliant; otherwise false
*/
public boolean isSpecCompliant();
/**
* Set spec compliant flag
* @param v The value
*/
public void setSpecCompliant(boolean v);
/**
* Is statistics enabled
* @return True if enabled; otherwise false
*/
public boolean isStatisticsEnabled();
/**
* Set the statistics enabled flag
* @param v The value
*/
public void setStatisticsEnabled(boolean v);
/**
* Get the callback security module
* @return The value
*/
public Callback getCallbackSecurity();
/**
* Set callback security module
* @param v The value
*/
public void setCallbackSecurity(Callback v);
/**
* Get the security integration module
* @return The value
*/
public SecurityIntegration getSecurityIntegration();
/**
* Set security integration module
* @param v The value
*/
public void setSecurityIntegration(SecurityIntegration v);
/**
* Get the statistics
* @return The value
*/
public WorkManagerStatistics getStatistics();
/**
* Clone the WorkManager implementation
* @return A copy of the implementation
* @exception CloneNotSupportedException Thrown if the copy operation isn't supported
*
*/
public WorkManager clone() throws CloneNotSupportedException;
}