blob: 4ff175395d1af56f12b6c753395ce7b44e3ac519 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2014 Bosch Software Innovations GmbH and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* and Eclipse Distribution License v1.0 which accompany this distribution.
*
* The Eclipse Public License is available at
* http://www.eclipse.org/legal/epl-v10.html
* The Eclipse Distribution License is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* Contributors:
* Bosch Software Innovations GmbH - Please refer to git log
*******************************************************************************/
package org.eclipse.vorto.codegen.api;
import org.eclipse.vorto.codegen.internal.OverWritingStrategy;
import org.eclipse.vorto.codegen.internal.WriteGenOverWriteStrategy;
/**
* Factory for getting a file writer strategy for a code generator
*
*
*
*/
public final class FileWritingStrategyFactory {
private static FileWritingStrategyFactory instance = null;
private FileWritingStrategyFactory() {
}
public static FileWritingStrategyFactory getInstance() {
if (instance == null) {
instance = new FileWritingStrategyFactory();
}
return instance;
}
/**
* @return strategy which overwrites a previously generated file.
*/
public IFileWritingStrategy getOverwriteStrategy() {
return new OverWritingStrategy();
}
/**
* @return strategy which creates a *.gen file which the latest content. The
* user must then do a manual merge.
*/
public IFileWritingStrategy getGenFileStrategy() {
return new WriteGenOverWriteStrategy();
}
}