All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.liferay.adaptive.media.image.internal.processor.AMImage Maven / Gradle / Ivy

/**
 * SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com
 * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06
 */

package com.liferay.adaptive.media.image.internal.processor;

import com.liferay.adaptive.media.AMAttribute;
import com.liferay.adaptive.media.AdaptiveMedia;
import com.liferay.adaptive.media.image.internal.configuration.AMImageAttributeMapping;
import com.liferay.adaptive.media.image.processor.AMImageProcessor;

import java.io.InputStream;

import java.net.URI;

import java.util.Optional;
import java.util.function.Supplier;

/**
 * @author Adolfo Pérez
 */
public final class AMImage implements AdaptiveMedia {

	public AMImage(
		Supplier supplier,
		AMImageAttributeMapping amImageAttributeMapping, URI uri) {

		_supplier = supplier;
		_amImageAttributeMapping = amImageAttributeMapping;
		_uri = uri;
	}

	@Override
	public InputStream getInputStream() {
		return _supplier.get();
	}

	@Override
	public URI getURI() {
		return _uri;
	}

	@Override
	public  Optional getValueOptional(
		AMAttribute amAttribute) {

		return _amImageAttributeMapping.getValueOptional(amAttribute);
	}

	private final AMImageAttributeMapping _amImageAttributeMapping;
	private final Supplier _supplier;
	private final URI _uri;

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy