Package org.eclipse.cdt.core.settings.model.util

# Class CDataUtil

java.lang.Object
org.eclipse.cdt.core.settings.model.util.CDataUtil

public class CDataUtil extends Object

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String[]`
`EMPTY_STRING_ARRAY`

## Constructor Summary

Constructors
Constructor
Description
`CDataUtil()`

## Method Summary

Modifier and Type
Method
Description
`static ICSourceEntry`
`addExcludePaths(ICSourceEntry entry, Collection<org.eclipse.core.runtime.IPath> paths, boolean removePrefix)`
`static ICExclusionPatternPathEntry`
`addRemoveExclusionsToEntry(ICExclusionPatternPathEntry entry, org.eclipse.core.runtime.IPath[] paths, boolean add)`
`static CConfigurationData`
`adjustConfig(CConfigurationData cfg, CDataFactory factory)`
`static ICOutputEntry[]`
`adjustEntries(ICOutputEntry[] entries, boolean makeAbsolute, org.eclipse.core.resources.IProject project)`
`static ICSourceEntry[]`
`adjustEntries(ICSourceEntry[] entries)`
`static ICSourceEntry[]`
`adjustEntries(ICSourceEntry[] entries, boolean makeAbsolute, org.eclipse.core.resources.IProject project)`
`static String`
`arrayToString(Object[] array, String separator)`
`static String`
`arrayToString(String[] array, String separator)`
`static boolean`
`canExclude(org.eclipse.core.runtime.IPath path, boolean isFolder, boolean excluded, ICSourceEntry[] entries)`
`static CIncludeFileEntry`
`createCIncludeFileEntry(String name, int flags)`
Utility method to create `CIncludeFileEntry`.
`static CIncludePathEntry`
`createCIncludePathEntry(String name, int flags)`
Utility method to create `CIncludePathEntry`.
`static CLibraryFileEntry`
`createCLibraryFileEntry(String name, int flags)`
Utility method to create `CLibraryFileEntry`.
`static CLibraryPathEntry`
`createCLibraryPathEntry(String name, int flags)`
Utility method to create `CLibraryPathEntry`.
`static CMacroEntry`
`createCMacroEntry(String name, String value, int flags)`
Utility method to create `CMacroEntry`.
`static CMacroFileEntry`
`createCMacroFileEntry(String name, int flags)`
Utility method to create `CMacroFileEntry`.
`static CConfigurationData`
`createEmptyData(String id, String name, CDataFactory factory, boolean performLangAdjustment)`
`static ICSettingEntry`
`createEntry(int kind, String name, String value, org.eclipse.core.runtime.IPath[] exclusionPatterns, int flags)`
Convenience method to create `ICSettingEntry` depending on kind.
`static ICSettingEntry`
`createEntry(int kind, String name, String value, org.eclipse.core.runtime.IPath[] exclusionPatterns, int flags, org.eclipse.core.runtime.IPath sourceAttachmentPath, org.eclipse.core.runtime.IPath sourceAttachmentRootPath, org.eclipse.core.runtime.IPath sourceAttachmentPrefixMapping)`
Convenience method to create `ICSettingEntry` depending on kind.
`static ICLanguageSettingEntry`
`createEntry(ICLanguageSettingEntry entry, int flags)`
Convenience method to clone `ICLanguageSettingEntry` with different flags.
`static ICLanguageSettingEntry`
`createEntry(ICLanguageSettingEntry entry, int flagsToAdd, int flafsToClear)`
Convenience method to clone `ICLanguageSettingEntry` with modified flags.
`static Map<org.eclipse.core.runtime.IPath,CResourceData>`
`createPathRcDataMap(CConfigurationData data)`
`static PathSettingsContainer`
`createRcDataHolder(CConfigurationData data)`
`static Map<EntryContentsKey,ICSettingEntry>`
`fillEntriesMapByContentsKey(Map<EntryContentsKey,ICSettingEntry> map, ICSettingEntry[] entries)`
`static Map<EntryNameKey,ICSettingEntry>`
`fillEntriesMapByNameKey(Map<EntryNameKey,ICSettingEntry> map, ICSettingEntry[] entries)`
`static CLanguageData`
`findLanguagDataForFile(String fileName, org.eclipse.core.resources.IProject project, CFolderData fData)`
`static CLanguageData`
`findLanguagDataForFile(String fileName, org.eclipse.core.resources.IProject project, CLanguageData[] datas)`
`static CLanguageData`
`findLanguageDataForExtension(String ext, CLanguageData[] datas)`
`static String`
`genId(String baseId)`
`static int`
`genRandomNumber()`
`static boolean`
`getBoolean(ICStorageElement el, String attr, boolean defaultValue)`
`static String[]`
`getContentTypeFileSpecs(org.eclipse.core.resources.IProject project, org.eclipse.core.runtime.content.IContentType type)`
`static String[]`
`getExtensionsFromContentTypes(org.eclipse.core.resources.IProject project, String[] typeIds)`
`static int`
`getInteger(ICStorageElement el, String attr, int defaultValue)`
`static <T extends ICSettingEntry>
T`
`getPooledEntry(T entry)`
Return entry cached in setting entries pool to optimize for memory usage.
`static String[]`
`getSourceExtensions(org.eclipse.core.resources.IProject project, CLanguageData data)`
`static boolean`
`isEqual(ICSourceEntry[] ein, ICSourceEntry[] aus)`
`static boolean`
`isExcluded(org.eclipse.core.runtime.IPath path, ICSourceEntry entry)`
`static boolean`
`isExcluded(org.eclipse.core.runtime.IPath path, ICSourceEntry[] entries)`
`static boolean`
`isOnSourceEntry(org.eclipse.core.runtime.IPath path, ICSourceEntry entry)`
`static ICExclusionPatternPathEntry[]`
`makeAbsolute(org.eclipse.core.resources.IProject project, ICExclusionPatternPathEntry[] entries, boolean force)`
`static ICExclusionPatternPathEntry`
`makeAbsolute(org.eclipse.core.resources.IProject project, ICExclusionPatternPathEntry entry, boolean force)`
`static ICOutputEntry`
`makeAbsolute(org.eclipse.core.resources.IProject project, ICOutputEntry entry)`
`static ICOutputEntry[]`
`makeAbsolute(org.eclipse.core.resources.IProject project, ICOutputEntry[] entries)`
`static ICSourceEntry`
`makeAbsolute(org.eclipse.core.resources.IProject project, ICSourceEntry entry)`
`static ICSourceEntry[]`
`makeAbsolute(org.eclipse.core.resources.IProject project, ICSourceEntry[] entries)`
`static ICExclusionPatternPathEntry[]`
`makeRelative(org.eclipse.core.resources.IProject project, ICExclusionPatternPathEntry[] entries, boolean force)`
`static ICExclusionPatternPathEntry`
`makeRelative(org.eclipse.core.resources.IProject project, ICExclusionPatternPathEntry entry, boolean force)`
`static ICOutputEntry`
`makeRelative(org.eclipse.core.resources.IProject project, ICOutputEntry entry)`
`static ICOutputEntry[]`
`makeRelative(org.eclipse.core.resources.IProject project, ICOutputEntry[] entries)`
`static ICSourceEntry`
`makeRelative(org.eclipse.core.resources.IProject project, ICSourceEntry entry)`
`static ICSourceEntry[]`
`makeRelative(org.eclipse.core.resources.IProject project, ICSourceEntry[] entries)`
`static boolean`
`objectsEqual(Object o1, Object o2)`
Deprecated.
Use `Object.equals(Object)`
`static ICLanguageSettingEntry[]`
`resolveEntries(ICLanguageSettingEntry[] entries, ICConfigurationDescription cfgDes)`
`static ICOutputEntry[]`
`resolveEntries(ICOutputEntry[] entries, ICConfigurationDescription cfgDes)`
`static ICSettingEntry[]`
`resolveEntries(ICSettingEntry[] entries, ICConfigurationDescription cfgDes)`
`static ICSourceEntry[]`
`resolveEntries(ICSourceEntry[] entries, ICConfigurationDescription cfgDes)`
`static void`
`setBoolean(ICStorageElement el, String attr, boolean value)`
`static ICSourceEntry[]`
`setExcluded(org.eclipse.core.runtime.IPath path, boolean isFolder, boolean excluded, ICSourceEntry[] entries)`
`static ICSourceEntry[]`
`setExcluded(org.eclipse.core.runtime.IPath path, boolean isFolder, boolean excluded, ICSourceEntry[] entries, boolean throwExceptionOnErr)`
`static ICSourceEntry[]`
`setExcludedIfPossible(org.eclipse.core.runtime.IPath path, boolean isFolder, boolean excluded, ICSourceEntry[] entries)`
`static void`
`setInteger(ICStorageElement el, String attr, int value)`
`static String[]`
`stringToArray(String string, String separator)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### EMPTY_STRING_ARRAY

public static final String[] EMPTY_STRING_ARRAY

## Constructor Details

### CDataUtil

public CDataUtil()

## Method Details

### genRandomNumber

public static int genRandomNumber()

### genId

public static String genId(String baseId)

### objectsEqual

@Deprecated public static boolean objectsEqual(Object o1, Object o2)
Deprecated.
Use `Object.equals(Object)`

### arrayToString

public static String arrayToString(String[] array, String separator)

### arrayToString

public static String arrayToString(Object[] array, String separator)

### stringToArray

public static String[] stringToArray(String string, String separator)

### resolveEntries

public static ICSettingEntry[] resolveEntries(ICSettingEntry[] entries, ICConfigurationDescription cfgDes)

### resolveEntries

public static ICLanguageSettingEntry[] resolveEntries(ICLanguageSettingEntry[] entries, ICConfigurationDescription cfgDes)

### resolveEntries

public static ICSourceEntry[] resolveEntries(ICSourceEntry[] entries, ICConfigurationDescription cfgDes)

### resolveEntries

public static ICOutputEntry[] resolveEntries(ICOutputEntry[] entries, ICConfigurationDescription cfgDes)

### getPooledEntry

public static <T extends ICSettingEntry> T getPooledEntry(T entry)
Return entry cached in setting entries pool to optimize for memory usage. Note that the pool will handle garbage collection for unreferenced entries.

Since:
  5.4

### createEntry

public static ICLanguageSettingEntry createEntry(ICLanguageSettingEntry entry, int flagsToAdd, int flafsToClear)
Convenience method to clone `ICLanguageSettingEntry` with modified flags. Note that this method keeps the entries in the pool to avoid proliferation of duplicates.

Parameters:
  `entry` - - source entry.
  `flagsToAdd` - - binary combination of bits to add to the flags.
  `flafsToClear` - - binary combination of bits to clear in the flags.
Returns:
  new entry with the modified flags.

### createEntry

public static ICLanguageSettingEntry createEntry(ICLanguageSettingEntry entry, int flags)
Convenience method to clone `ICLanguageSettingEntry` with different flags. Note that this method keeps the entries in the pool to avoid proliferation of duplicates.

Parameters:
  `entry` - - source entry.
  `flags` - - new flags.
Returns:
  new entry with the specified flags.

### createEntry

public static ICSettingEntry createEntry(int kind, String name, String value, org.eclipse.core.runtime.IPath[] exclusionPatterns, int flags)
Convenience method to create `ICSettingEntry` depending on kind. Note that this method keeps the entries in the pool to avoid proliferation of duplicates.

### createEntry

public static ICSettingEntry createEntry(int kind, String name, String value, org.eclipse.core.runtime.IPath[] exclusionPatterns, int flags, org.eclipse.core.runtime.IPath sourceAttachmentPath, org.eclipse.core.runtime.IPath sourceAttachmentRootPath, org.eclipse.core.runtime.IPath sourceAttachmentPrefixMapping)
Convenience method to create `ICSettingEntry` depending on kind. Note that this method keeps the entries in the pool to avoid proliferation of duplicates.

### createCIncludePathEntry

public static CIncludePathEntry createCIncludePathEntry(String name, int flags)
Utility method to create `CIncludePathEntry`. Note that this method keeps the entries in the pool to avoid proliferation of duplicates.

Since:
  5.4

### createCIncludeFileEntry

public static CIncludeFileEntry createCIncludeFileEntry(String name, int flags)
Utility method to create `CIncludeFileEntry`. Note that this method keeps the entries in the pool to avoid proliferation of duplicates.

Since:
  5.4

### createCMacroEntry

public static CMacroEntry createCMacroEntry(String name, String value, int flags)
Utility method to create `CMacroEntry`. Note that this method keeps the entries in the pool to avoid proliferation of duplicates.

Since:
  5.4

### createCMacroFileEntry

public static CMacroFileEntry createCMacroFileEntry(String name, int flags)
Utility method to create `CMacroFileEntry`. Note that this method keeps the entries in the pool to avoid proliferation of duplicates.

Since:
  5.4

### createCLibraryPathEntry

public static CLibraryPathEntry createCLibraryPathEntry(String name, int flags)
Utility method to create `CLibraryPathEntry`. Note that this method keeps the entries in the pool to avoid proliferation of duplicates.

Since:
  5.4

### createCLibraryFileEntry

public static CLibraryFileEntry createCLibraryFileEntry(String name, int flags)
Utility method to create `CLibraryFileEntry`. Note that this method keeps the entries in the pool to avoid proliferation of duplicates.

Since:
  5.4

### getSourceExtensions

public static String[] getSourceExtensions(org.eclipse.core.resources.IProject project, CLanguageData data)

### getExtensionsFromContentTypes

public static String[] getExtensionsFromContentTypes(org.eclipse.core.resources.IProject project, String[] typeIds)

### getContentTypeFileSpecs

public static String[] getContentTypeFileSpecs(org.eclipse.core.resources.IProject project, org.eclipse.core.runtime.content.IContentType type)

### findLanguagDataForFile

public static CLanguageData findLanguagDataForFile(String fileName, org.eclipse.core.resources.IProject project, CFolderData fData)

### findLanguagDataForFile

public static CLanguageData findLanguagDataForFile(String fileName, org.eclipse.core.resources.IProject project, CLanguageData[] datas)

### findLanguageDataForExtension

public static CLanguageData findLanguageDataForExtension(String ext, CLanguageData[] datas)

### createPathRcDataMap

public static Map<org.eclipse.core.runtime.IPath,CResourceData> createPathRcDataMap(CConfigurationData data)

### createRcDataHolder

public static PathSettingsContainer createRcDataHolder(CConfigurationData data)

### createEmptyData

public static CConfigurationData createEmptyData(String id, String name, CDataFactory factory, boolean performLangAdjustment)

### adjustConfig

public static CConfigurationData adjustConfig(CConfigurationData cfg, CDataFactory factory)

### isExcluded

public static boolean isExcluded(org.eclipse.core.runtime.IPath path, ICSourceEntry[] entries)

### isExcluded

public static boolean isExcluded(org.eclipse.core.runtime.IPath path, ICSourceEntry entry)

### isOnSourceEntry

public static boolean isOnSourceEntry(org.eclipse.core.runtime.IPath path, ICSourceEntry entry)

### canExclude

public static boolean canExclude(org.eclipse.core.runtime.IPath path, boolean isFolder, boolean excluded, ICSourceEntry[] entries)

### isEqual

public static boolean isEqual(ICSourceEntry[] ein, ICSourceEntry[] aus)

Parameters:
  `ein` - - initial source entries
  `aus` - - resulting source entries
Returns:
  - true if they are equal

### setExcluded

public static ICSourceEntry[] setExcluded(org.eclipse.core.runtime.IPath path, boolean isFolder, boolean excluded, ICSourceEntry[] entries) throws org.eclipse.core.runtime.CoreException

Throws:
  `org.eclipse.core.runtime.CoreException`

### setExcludedIfPossible

public static ICSourceEntry[] setExcludedIfPossible(org.eclipse.core.runtime.IPath path, boolean isFolder, boolean excluded, ICSourceEntry[] entries)

### setExcluded

public static ICSourceEntry[] setExcluded(org.eclipse.core.runtime.IPath path, boolean isFolder, boolean excluded, ICSourceEntry[] entries, boolean throwExceptionOnErr) throws org.eclipse.core.runtime.CoreException

Throws:
  `org.eclipse.core.runtime.CoreException`

### adjustEntries

public static ICSourceEntry[] adjustEntries(ICSourceEntry[] entries)

### adjustEntries

public static ICOutputEntry[] adjustEntries(ICOutputEntry[] entries, boolean makeAbsolute, org.eclipse.core.resources.IProject project)

### adjustEntries

public static ICSourceEntry[] adjustEntries(ICSourceEntry[] entries, boolean makeAbsolute, org.eclipse.core.resources.IProject project)

### makeAbsolute

public static ICSourceEntry makeAbsolute(org.eclipse.core.resources.IProject project, ICSourceEntry entry)

### makeRelative

public static ICSourceEntry makeRelative(org.eclipse.core.resources.IProject project, ICSourceEntry entry)

### makeRelative

public static ICSourceEntry[] makeRelative(org.eclipse.core.resources.IProject project, ICSourceEntry[] entries)

### makeAbsolute

public static ICSourceEntry[] makeAbsolute(org.eclipse.core.resources.IProject project, ICSourceEntry[] entries)

### makeAbsolute

public static ICOutputEntry makeAbsolute(org.eclipse.core.resources.IProject project, ICOutputEntry entry)

### makeRelative

public static ICOutputEntry makeRelative(org.eclipse.core.resources.IProject project, ICOutputEntry entry)

### makeAbsolute

public static ICOutputEntry[] makeAbsolute(org.eclipse.core.resources.IProject project, ICOutputEntry[] entries)

### makeRelative

public static ICOutputEntry[] makeRelative(org.eclipse.core.resources.IProject project, ICOutputEntry[] entries)

### addExcludePaths

public static ICSourceEntry addExcludePaths(ICSourceEntry entry, Collection<org.eclipse.core.runtime.IPath> paths, boolean removePrefix)

### fillEntriesMapByNameKey

public static Map<EntryNameKey,ICSettingEntry> fillEntriesMapByNameKey(Map<EntryNameKey,ICSettingEntry> map, ICSettingEntry[] entries)

### fillEntriesMapByContentsKey

public static Map<EntryContentsKey,ICSettingEntry> fillEntriesMapByContentsKey(Map<EntryContentsKey,ICSettingEntry> map, ICSettingEntry[] entries)

### getBoolean

public static boolean getBoolean(ICStorageElement el, String attr, boolean defaultValue)

### setBoolean

public static void setBoolean(ICStorageElement el, String attr, boolean value)

### getInteger

public static int getInteger(ICStorageElement el, String attr, int defaultValue)

### setInteger

public static void setInteger(ICStorageElement el, String attr, int value)

### addRemoveExclusionsToEntry

public static ICExclusionPatternPathEntry addRemoveExclusionsToEntry(ICExclusionPatternPathEntry entry, org.eclipse.core.runtime.IPath[] paths, boolean add) throws IllegalArgumentException

Throws:
  `IllegalArgumentException`

### makeAbsolute

public static ICExclusionPatternPathEntry makeAbsolute(org.eclipse.core.resources.IProject project, ICExclusionPatternPathEntry entry, boolean force)

### makeRelative

public static ICExclusionPatternPathEntry makeRelative(org.eclipse.core.resources.IProject project, ICExclusionPatternPathEntry entry, boolean force)

### makeRelative

public static ICExclusionPatternPathEntry[] makeRelative(org.eclipse.core.resources.IProject project, ICExclusionPatternPathEntry[] entries, boolean force)

### makeAbsolute

public static ICExclusionPatternPathEntry[] makeAbsolute(org.eclipse.core.resources.IProject project, ICExclusionPatternPathEntry[] entries, boolean force)