package org.diretto.web.richwebclient.view.util; import org.diretto.api.client.base.data.MediaMainType; import org.diretto.api.client.base.data.MediaTypeFactory; import org.diretto.web.richwebclient.view.base.client.MediaType; /** * {@code MediaTypeUtils} is a noninstantiable utility class and is responsible * for all {@link MediaType} related aspects. * * @author Tobias Schlecht */ public final class MediaTypeUtils { /** * The constructor is {@code private} to suppress the default constructor * for noninstantiability. */ private MediaTypeUtils() { throw new AssertionError(); } /** * Returns the corresponding {@link MediaMainType} for the given * {@link MediaType} or {@code null} if there is no {@code MediaMainType} * for the given {@code MediaType}. * * @param mediaType A {@code MediaType} * @return The corresponding {@code MediaMainType} */ public static MediaMainType getMediaMainType(MediaType mediaType) { if(mediaType == MediaType.IMAGE) { return MediaTypeFactory.getMediaMainType("image"); } else if(mediaType == MediaType.VIDEO) { return MediaTypeFactory.getMediaMainType("video"); } else if(mediaType == MediaType.AUDIO) { return MediaTypeFactory.getMediaMainType("audio"); } else if(mediaType == MediaType.TEXT) { return MediaTypeFactory.getMediaMainType("text"); } else { return null; } } /** * Returns the corresponding {@link MediaType} for the given * {@link MediaMainType}. * * @param mediaMainType A {@code MediaMainType} * @return The corresponding {@code MediaType} */ public static MediaType getMediaType(MediaMainType mediaMainType) { if(mediaMainType.TYPE.equals("image")) { return MediaType.IMAGE; } else if(mediaMainType.TYPE.equals("video")) { return MediaType.VIDEO; } else if(mediaMainType.TYPE.equals("audio")) { return MediaType.AUDIO; } else if(mediaMainType.TYPE.equals("text")) { return MediaType.TEXT; } else { return MediaType.OTHER; } } }