/**
* Copyright 2007-2010 非也
* All rights reserved.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation。
*
* 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see http://www.gnu.org/licenses. *
*/
package org.fireflow.pvm.kernel.impl;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
import org.fireflow.pvm.kernel.Token;
import org.fireflow.pvm.kernel.TokenState;
/**
* @author 非也
* @version 2.0
*/
@XmlRootElement(name="token")
@XmlType(name="tokenType")
@XmlAccessorType(XmlAccessType.FIELD)
public class TokenImpl extends AbsToken implements Token {
public TokenImpl(){
}
public TokenImpl(Token previousToken){
if(previousToken!=null){
this.setBusinessPermitted(previousToken.isBusinessPermitted());
this.setValue(previousToken.getValue());
this.setStepNumber(previousToken.getStepNumber()+1);
this.setProcessInstanceId(previousToken.getProcessInstanceId());
this.setCallbackTokenId(previousToken.getCallbackTokenId());
this.setOperationContextName(previousToken.getOperationContextName());
this.setParentTokenId(previousToken.getParentTokenId());
this.setProcessId(previousToken.getProcessId());
this.setVersion(previousToken.getVersion());
this.setProcessType(previousToken.getProcessType());
this.setState(TokenState.INITIALIZED);
this.setFromToken(previousToken.getId());
}
}
}