/*******************************************************************************
* Copyright (c) 2006-2010 eBay Inc. All Rights Reserved.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*******************************************************************************/
package org.ebayopensource.turmeric.eclipse.typelibrary.resources.model;
import java.util.ArrayList;
import java.util.List;
import org.ebayopensource.turmeric.eclipse.core.resources.constants.SOATypeLibraryConstants;
import org.ebayopensource.turmeric.eclipse.resources.model.SOABaseProject;
import org.ebayopensource.turmeric.eclipse.resources.model.SOAProjectEclipseMetadata;
import org.ebayopensource.turmeric.eclipse.utils.collections.ListUtil;
import org.ebayopensource.turmeric.eclipse.utils.plugin.WorkspaceUtil;
/**
* The Class SOATypeLibraryProject.
*
* @author smathew
*
* Type Lib Project Model containing both eclipse and type lib metadata
*/
public class SOATypeLibraryProject extends SOABaseProject {
/** The metadata. */
SOATypeLibraryMetadata metadata;
/** The Constant SOURCE_DIRECTORIES. */
public static final String[] SOURCE_DIRECTORIES = {
SOATypeLibraryConstants.FOLDER_GEN_META_SRC,
SOATypeLibraryConstants.FOLDER_GEN_SRC,
SOATypeLibraryConstants.FOLDER_META_SRC, };
/* (non-Javadoc)
* @see org.ebayopensource.turmeric.eclipse.resources.model.SOABaseProject#getSourceSubFolders()
*/
@Override
public List<String> getSourceSubFolders() {
List<String> subFolders = new ArrayList<String>();
subFolders.add(SOATypeLibraryConstants.FOLDER_META_SRC_META_INF
+ WorkspaceUtil.PATH_SEPERATOR
+ getTypeLibraryMetadata().getName());
subFolders.add(SOATypeLibraryConstants.FOLDER_META_SRC_TYPES
+ WorkspaceUtil.PATH_SEPERATOR
+ getTypeLibraryMetadata().getName());
//subFolders.add(SOATypeLibraryConstants.FOLDER_META_SRC_TYPES);
return subFolders;
}
/**
* {@inheritDoc}
*/
@Override
public List<String> getSourceDirectoryNames() {
return ListUtil.arrayList(SOURCE_DIRECTORIES);
}
/**
* Creates the soa project type library.
*
* @param eclipseMetadata the eclipse metadata
* @param metadata the metadata
* @return the sOA type library project
*/
public static SOATypeLibraryProject createSOAProjectTypeLibrary(
SOAProjectEclipseMetadata eclipseMetadata,
SOATypeLibraryMetadata metadata) {
SOATypeLibraryProject soaTypeLibraryProject = new SOATypeLibraryProject();
soaTypeLibraryProject.setEclipseMetadata(eclipseMetadata);
soaTypeLibraryProject.setTypeLibraryMetadata(metadata);
return soaTypeLibraryProject;
}
/**
* Gets the type library metadata.
*
* @return the type library metadata
*/
public SOATypeLibraryMetadata getTypeLibraryMetadata() {
return metadata;
}
/**
* Sets the type library metadata.
*
* @param metadata the new type library metadata
*/
public void setTypeLibraryMetadata(SOATypeLibraryMetadata metadata) {
this.metadata = metadata;
}
}