/*
* Copyright (c) 2013 EMC Corporation
* All Rights Reserved
*/
package com.emc.storageos.apidiff.serializer;
import com.emc.storageos.apidiff.ServiceCatalogDiff;
import java.io.File;
import java.util.List;
/**
* Abstract serialization class for API differences of all services
*/
public abstract class AbstractSerializer {
protected final List<ServiceCatalogDiff> diffList;
protected File file;
public AbstractSerializer(List<ServiceCatalogDiff> diffList, File folder) {
this.diffList = diffList;
// Clean old files before new operations
if (!folder.exists()) {
folder.mkdirs();
} else if (!folder.isDirectory()) {
throw new IllegalArgumentException("Output directory is not invalid: " + folder.toString());
}
}
/**
* The absolute path of output file
*/
public File getFile() {
return file;
}
/**
* Outputs differences to file with specific format
*/
public abstract void output();
}