1
/*******************************************************************************
2
* Copyright (c) 2007, 2008 Intel Corporation and others.
3
* All rights reserved. This program and the accompanying materials
4
* are made available under the terms of the Eclipse Public License v1.0
5
* which accompanies this distribution, and is available at
6
* http://www.eclipse.org/legal/epl-v10.html
9
* Intel Corporation - Initial API and implementation
10
*******************************************************************************/
11
package org.eclipse.cdt.core.settings.model.extension.impl;
13
import org.eclipse.cdt.core.settings.model.extension.CConfigurationData;
14
import org.eclipse.cdt.core.settings.model.extension.CFileData;
15
import org.eclipse.cdt.core.settings.model.extension.CFolderData;
16
import org.eclipse.cdt.core.settings.model.extension.CLanguageData;
17
import org.eclipse.core.runtime.IPath;
19
public class CDefaultFileData extends CFileData {
20
protected IPath fPath;
21
// protected boolean fIsExcluded;
22
protected String fName;
24
protected CLanguageData fLanguageData;
25
protected CConfigurationData fCfg;
26
private CDataFactory fFactory;
27
protected boolean fIsModified;
29
public CDefaultFileData(CConfigurationData cfg, CDataFactory factory) {
32
factory = new CDataFactory();
36
public CDefaultFileData(String id, IPath path, CConfigurationData cfg, CDataFactory factory) {
39
fName = path.toString();
43
public CDefaultFileData(String id, IPath path, CFileData base, CConfigurationData cfg, CDataFactory factory, boolean clone) {
44
this(id, path, cfg, factory);
46
copyDataFrom(base, clone);
49
public CDefaultFileData(String id, IPath path, CFolderData base, CLanguageData baseLangData, CConfigurationData cfg, CDataFactory factory) {
50
this(id, path, cfg, factory);
52
copyDataFrom(base, baseLangData);
55
protected void copyDataFrom(CFileData base, boolean clone){
56
CLanguageData baseLanguageData = base.getLanguageData();
57
if(baseLanguageData != null)
58
fLanguageData = copyLanguageData(baseLanguageData, clone);
60
// fIsExcluded = base.isExcluded();
63
protected void copyDataFrom(CFolderData base, CLanguageData baseLanguageData){
64
// fIsExcluded = base != null ? base.isExcluded() : false;
65
if(baseLanguageData != null)
66
fLanguageData = copyLanguageData(baseLanguageData, false);
69
protected CLanguageData copyLanguageData(CLanguageData data, boolean clone){
70
return fFactory.createLanguageData(fCfg, this, data, null, clone);
75
public IPath getPath() {
79
// public boolean isExcluded() {
80
// return fIsExcluded;
83
// public void setExcluded(boolean excluded) {
84
// if(excluded == fIsExcluded)
87
// fIsExcluded = excluded;
91
public void setPath(IPath path) {
96
public String getName() {
100
public void setName(String name) {
105
public String getId() {
110
public boolean isValid() {
111
return getId() != null;
115
public CLanguageData getLanguageData() {
116
return fLanguageData;
119
public boolean isModified(){
123
return fFactory.isModified(fLanguageData);
126
public void setModified(boolean modified){
127
fIsModified = modified;
130
fFactory.setModified(fLanguageData, false);
134
public boolean hasCustomSettings() {