Class CDataUtil


  • public class CDataUtil
    extends java.lang.Object
    • Field Detail

      • EMPTY_STRING_ARRAY

        public static final java.lang.String[] EMPTY_STRING_ARRAY
    • Constructor Detail

      • CDataUtil

        public CDataUtil()
    • Method Detail

      • genRandomNumber

        public static int genRandomNumber()
      • genId

        public static java.lang.String genId​(java.lang.String baseId)
      • objectsEqual

        @Deprecated
        public static boolean objectsEqual​(java.lang.Object o1,
                                           java.lang.Object o2)
        Deprecated.
        Use Object.equals(Object)
      • arrayToString

        public static java.lang.String arrayToString​(java.lang.String[] array,
                                                     java.lang.String separator)
      • arrayToString

        public static java.lang.String arrayToString​(java.lang.Object[] array,
                                                     java.lang.String separator)
      • stringToArray

        public static java.lang.String[] stringToArray​(java.lang.String string,
                                                       java.lang.String separator)
      • 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,
                                                 java.lang.String name,
                                                 java.lang.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,
                                                 java.lang.String name,
                                                 java.lang.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​(java.lang.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​(java.lang.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​(java.lang.String name,
                                                    java.lang.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​(java.lang.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​(java.lang.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​(java.lang.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 java.lang.String[] getSourceExtensions​(org.eclipse.core.resources.IProject project,
                                                             CLanguageData data)
      • getExtensionsFromContentTypes

        public static java.lang.String[] getExtensionsFromContentTypes​(org.eclipse.core.resources.IProject project,
                                                                       java.lang.String[] typeIds)
      • getContentTypeFileSpecs

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

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

        public static CLanguageData findLanguagDataForFile​(java.lang.String fileName,
                                                           org.eclipse.core.resources.IProject project,
                                                           CLanguageData[] datas)
      • findLanguageDataForExtension

        public static CLanguageData findLanguageDataForExtension​(java.lang.String ext,
                                                                 CLanguageData[] datas)
      • createEmptyData

        public static CConfigurationData createEmptyData​(java.lang.String id,
                                                         java.lang.String name,
                                                         CDataFactory factory,
                                                         boolean performLangAdjustment)
      • 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 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)
      • 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[] entries)
      • makeRelative

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

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

        public static boolean getBoolean​(ICStorageElement el,
                                         java.lang.String attr,
                                         boolean defaultValue)
      • setBoolean

        public static void setBoolean​(ICStorageElement el,
                                      java.lang.String attr,
                                      boolean value)
      • getInteger

        public static int getInteger​(ICStorageElement el,
                                     java.lang.String attr,
                                     int defaultValue)
      • setInteger

        public static void setInteger​(ICStorageElement el,
                                      java.lang.String attr,
                                      int value)
      • addRemoveExclusionsToEntry

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