【软件工程与实践】(13)EventOperator和UserOperator架构的代码分析

2021SC@SDUSC

一、事务账户的操作器

接口

1.EventAccountRegisterOperationBuilder

public interface EventAccountRegisterOperationBuilder {
    
    
    /**
     * 事件账户注册;
     *
     * @param id
     *            区块链身份;
     * @param stateType
     *            负载类型;
     * @return
     */
    EventAccountRegisterOperation register(BlockchainIdentity ID);

}

2.EventAccountOperator

public interface EventAccountOperator {
    
    
    /**
     * 事件账户;
     *
     * @return
     */

    EventAccountRegisterOperationBuilder eventAccounts();

}

3.EventAccountRegisterOperation

这个是用来获取账户的id的接口

@DataContract(code = DataCodes.TX_OP_EVENT_ACC_REG)
public interface EventAccountRegisterOperation extends Operation {
    
    

    @DataField(order = 2, refContract = true)
    BlockchainIdentity getEventAccountID();

}

1.EventAccountRegisterOperationBuilderImpl

public class EventAccountRegisterOperationBuilderImpl implements EventAccountRegisterOperationBuilder {
    
    
//这个方法,你可以输入一个id然后这个接口可以帮你注册一个新账户。
    @Override
    public EventAccountRegisterOperation register(BlockchainIdentity id) {
    
    
        return new EventAccountRegisterOpTemplate(id);
    }
}

2.EventAccountRegisterOpTemplate

public class EventAccountRegisterOpTemplate implements EventAccountRegisterOperation {
    
    

    static {
    
    
        DataContractRegistry.register(EventAccountRegisterOperation.class);
    }

    private BlockchainIdentity accountID;

    public EventAccountRegisterOpTemplate() {
    
    
    }
//这个方法用户获取eventaccount的账户id信息
    public EventAccountRegisterOpTemplate(BlockchainIdentity accountID) {
    
    
        this.accountID = accountID;
    }
//这个方法用户获取eventaccount的账户id信息
    @Override
    public BlockchainIdentity getEventAccountID() {
    
    
        return accountID;
    }





}

二、用户的操作器架构

接口

1.UserOperator

public interface UserOperator {
    
    

	/**
	 * 注册账户操作;
	 * 
	 * @return
	 */

	UserRegisterOperationBuilder users();

}

2.UserRegisterOperationBuilder

public interface UserRegisterOperationBuilder {
    
    

	/**
	 * 注册;
	 * 
	 * @param id
	 *            区块链身份;
	 * @param stateType
	 *            负载类型;
	 * @return
	 */
	UserRegisterOperation register(BlockchainIdentity userID);

}

3.UserRegisterOperation

这个接口可以用来获取user的id

@DataContract(code = DataCodes.TX_OP_USER_REG)
public interface UserRegisterOperation extends Operation {
    
    

	@DataField(order = 2, refContract = true)
	BlockchainIdentity getUserID();
	
}

1.UserRegisterOperationBuilderImpl

public class UserRegisterOperationBuilderImpl implements UserRegisterOperationBuilder{
    
    
//这个类可以帮助你注册一个useraccount
	@Override
	public UserRegisterOperation register(BlockchainIdentity userID) {
    
    
		return new UserRegisterOpTemplate(userID);
	}
}

2.UserRegisterOpTemplate

public class UserRegisterOpTemplate implements UserRegisterOperation {
    
    

	static {
    
    
		DataContractRegistry.register(UserRegisterOperation.class);
	}

	private BlockchainIdentity userID;

	public UserRegisterOpTemplate() {
    
    
	}
//这个方法用户获取useraccount的账户id信息
	public UserRegisterOpTemplate(BlockchainIdentity userID) {
    
    
		this.userID = userID;
	}
//这个方法用户获取useraccount的账户id信息
	@Override
	public BlockchainIdentity getUserID() {
    
    
		return userID;
	}

}

猜你喜欢

转载自blog.csdn.net/weixin_45932150/article/details/122163138
今日推荐