package com.intellij.flex.uiDesigner;
import com.intellij.openapi.vfs.VirtualFile;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
public class EmbedImageManager extends EmbedAssetManager<ImageAssetInfo> {
public static EmbedImageManager getInstance() {
return DesignerApplicationManager.getService(EmbedImageManager.class);
}
public int add(@NotNull VirtualFile file, @Nullable String mimeType, @NotNull AssetCounter assetCounter) {
for (ImageAssetInfo asset : assets) {
if (asset.file.equals(file)) {
return asset.id;
}
}
assetCounter.imageCount++;
final int id = idPool.allocate();
add(new ImageAssetInfo(file, mimeType, id));
return id;
}
@SuppressWarnings("MethodOverloadsMethodOfSuperclass")
public void remove(@NotNull VirtualFile file) {
for (ImageAssetInfo asset : assets) {
if (asset.file.equals(file)) {
remove(asset.id);
}
}
}
}
class ImageAssetInfo extends EmbedAssetInfo {
public final String mimeType;
public ImageAssetInfo(VirtualFile file, @Nullable String mimeType, int id) {
super(file, id);
this.mimeType = mimeType;
}
}