OccurrenceConcrete.java

39 lines | 1.431 kB Blame History Raw Download
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package br.ufrgs.inf.prosoft.memoizeittf.facade;

import br.ufrgs.inf.prosoft.memoizeit.Parameter;
import java.util.List;
import java.util.stream.Collectors;

/**
 *
 * @author romulo
 */
public class OccurrenceConcrete implements Occurrence {

    private final br.ufrgs.inf.prosoft.memoizeit.OccurrenceConcrete memoizeitOccurrence;
    private final br.ufrgs.inf.prosoft.tfcache.metadata.OccurrenceConcrete tfcacheOccurrence;

    public OccurrenceConcrete(String instance, List<Parameter> parameters, Object returnedValue, long startTime, long endTime, String userId) {
        this.memoizeitOccurrence = new br.ufrgs.inf.prosoft.memoizeit.OccurrenceConcrete(instance, returnedValue, parameters, startTime, endTime);
        this.tfcacheOccurrence = new br.ufrgs.inf.prosoft.tfcache.metadata.OccurrenceConcrete(instance,
                parameters.stream().map(Parameter::getData).collect(Collectors.toList()).toArray(),
                returnedValue, startTime, endTime, userId);
    }

    @Override
    public br.ufrgs.inf.prosoft.memoizeit.Occurrence getMemoizeitOccurrence() {
        return this.memoizeitOccurrence;
    }

    @Override
    public br.ufrgs.inf.prosoft.tfcache.metadata.Occurrence getTfcacheOccurrence() {
        return this.tfcacheOccurrence;
    }

}