package uk.ac.ebi.pride.archive.dataprovider.assay;

import uk.ac.ebi.pride.archive.dataprovider.common.ITuple;
import uk.ac.ebi.pride.archive.dataprovider.entity.EntityProvider;
import uk.ac.ebi.pride.archive.dataprovider.param.CvParamProvider;

import java.util.Collection;

/**
 * This code is 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
 * <p>
 * http://www.apache.org/licenses/LICENSE-2.0
 * <p>
 * ==Overview==
 *
 * @author ypriverol on 01/11/2018.
 */
public interface AssayProvider extends EntityProvider {

    /**
     * Get the sample properties for this specific Assay.
     * @return Collection Sample properties
     */
    Collection<? extends ITuple<? extends CvParamProvider, ? extends CvParamProvider>> getSampleProperties();

    /**
     * Get the Type of Assay from AssayType
     * @return Get Assay Type
     */
    AssayType getAssayType();

    /**
     * Get the additional properties for this specific Assay for exmaple number of identified proteins
     * @return Collection Sample properties
     */
    Collection<? extends CvParamProvider> getAdditionalProperties();

}

package uk.ac.ebi.pride.archive.dataprovider.assay;

import uk.ac.ebi.pride.archive.dataprovider.common.ITuple;
import uk.ac.ebi.pride.archive.dataprovider.entity.EntityProvider;
import uk.ac.ebi.pride.archive.dataprovider.param.CvParamProvider;

import java.util.Collection;
import java.util.Map;
import java.util.Set;

/**
 * This code is 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
 * <p>
 * http://www.apache.org/licenses/LICENSE-2.0
 * <p>
 * ==Overview==
 *
 * @author ypriverol on 01/11/2018.
 */
public interface AssayProvider extends EntityProvider {

    /**
     * Get the Type of Assay from AssayType
     * @return Get Assay Type
     */
    AssayType getAssayType();

    /**
     * Get the additional properties for this specific Assay for example number of identified proteins
     * @return Collection Sample properties
     */
    Collection<? extends CvParamProvider> getAdditionalProperties();

}

Support for file size in MSRunSamples