Java °Ë»ö ¿£Áø »ç¿ë

Ç÷¯±×ÀÎÀº JDT API¸¦ »ç¿ëÇÏ¿© ¸Þ¼Òµå ÂüÁ¶, ÇÊµå ¼±¾ð, ÀÎÅÍÆäÀ̽ºÀÇ ±¸ÇöÀÚ µî°ú °°Àº Java ¿ä¼ÒÀÇ ÀÛ¾÷°ø°£¿¡¼­ Java ÇÁ·ÎÁ§Æ®¸¦ °Ë»öÇÒ ¼ö ÀÖ½À´Ï´Ù.

Java °Ë»öÀÇ ½ÃÀÛÁ¡Àº SearchEngine Ŭ·¡½ºÀÔ´Ï´Ù. Java ¿ä¼Ò ³»¿¡¼­ ƯÁ¤ ÆÐÅÏÀ» Ž»öÇÒ ¼ö ÀÖ½À´Ï´Ù.  °Ë»ö ÆÐÅÏÀº createSearchPatternÀ» »ç¿ëÇÏ¿© ÀÛ¼ºµÉ ¼ö ÀÖ½À´Ï´Ù. ÆÐÅÏ ¹üÀ§´Â createJavaSearchScope¸¦ »ç¿ëÇÏ¿© ÁöÁ¤µË´Ï´Ù.  ÆÐÅÏ ¹× ¹üÀ§°¡ Á¤ÀǵǸé search ¸Þ¼Òµå¸¦ »ç¿ëÇÏ¿© °á°ú¸¦ ¼öÁýÇÕ´Ï´Ù.

°Ë»ö °á°ú´Â °á°ú¿¡ ¾×¼¼½ºÇϱâ À§ÇØ ±¸ÇöÇØ¾ß ÇÏ´Â IJavaSearchResultCollector¿¡ º¸°íµË´Ï´Ù.

°Ë»ö Áغñ

°Ë»ö Á¶ÀÛÀº °Ë»öÀÇ ¼Ó¼ºÀ» ¼³¸íÇÏ´Â ÆÐÅϰú Á¶»ç ¹üÀ§¸¦ Á¦ÇÑÇÏ´Â ¹üÀ§¸¦ ¸ðµÎ »ç¿ëÇÕ´Ï´Ù.

Java °Ë»ö ÆÐÅÏ ÀÛ¼º

°Ë»ö ÆÐÅÏÀº °Ë»ö °á°ú¸¦ ã´Â ¹æ¹ýÀ» Á¤ÀÇÇÕ´Ï´Ù. Java ¿ä¼Ò(createSearchPattern(IJavaElement, int) ÂüÁ¶) ¶Ç´Â ¹®ÀÚ¿­(createSearchPattern(String, int, int, boolean) ÂüÁ¶)¿¡¼­ °Ë»ö ÆÐÅÏÀ» ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸¶Áö¸· ¸Þ¼Òµå´Â ¿ÍÀϵåÄ«µå(¿¹: '*')¸¦ Áö¿øÇÏ°í °Ë»ö °á°ú¸¦ È®´ëÇÏ´Â µ¥ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

¿¹¸¦ µé¾î, ÁöÁ¤ÇÑ ¸Þ¼Òµå¿¡ ´ëÇÑ ÂüÁ¶¸¦ °Ë»öÇÏ´Â °Ë»ö ÆÐÅÏÀº ´ÙÀ½°ú °°ÀÌ ÀÛ¼ºÇÕ´Ï´Ù.

    // Get the method
    IMethod method = ...;
    
    // Create search pattern
    ISearchPattern pattern = SearchEngine.createSearchPattern(method, IJavaSearchConstants.REFERENCES);

¶Ç´Â "Obj"·Î ½ÃÀÛÇÏ´Â ¸ðµç À¯ÇüÀÇ ¼±¾ðÀ» °Ë»öÇÏ´Â °Ë»ö ÆÐÅÏÀº ´ÙÀ½°ú °°ÀÌ ÀÛ¼ºÇÕ´Ï´Ù.

    // Create search pattern
    ISearchPattern pattern = SearchEngine.createSearchPattern("Obj*", IJavaSearchConstants.TYPE, IJavaSearchConstants.DECLARATIONS, true);

´ÙÀ½ °Ë»ö ÆÐÅÏÀ» Áö¿øÇÕ´Ï´Ù.

Java °Ë»ö ¹üÀ§ ÀÛ¼º

ÁöÁ¤ÇÑ ÇÁ·ÎÁ§Æ®¿¡¼­ ¶Ç´Â ÁöÁ¤ÇÑ ÆÐŰÁö¿¡¼­ÀÇ °Ë»ö °á°ú¿¡ °ü½ÉÀÌ ÀÖ´Â °æ¿ì ¶Ç´Â °Ë»ö °á°ú°¡ ÁöÁ¤ÇÑ À¯ÇüÀÇ °èÃþ ±¸Á¶¿¡¼­¸¸ ÀÖÀ» ¼ö ÀÖÀ½À» ¾Ë°í ÀÖ´Â °æ¿ì createJavaSearchScope(IJavaElement[]) ¶Ç´Â createHierarchyScope(IType)À» »ç¿ëÇÏ¿© ÀûÀýÇÑ °Ë»ö ¹üÀ§¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.

¿¹¸¦ µé¾î, ÁöÁ¤ÇÑ ÆÐŰÁö¿¡ ´ëÇÑ °Ë»ö ¹üÀ§´Â ´ÙÀ½°ú °°ÀÌ ÀÛ¼ºÇÕ´Ï´Ù.

    // Get the package
    IPackageFragment pkg = ...;

    // Create search scope
    IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] {pkg});

¶Ç´Â ÁöÁ¤ÇÑ À¯ÇüÀÇ °èÃþ ±¸Á¶¿¡ ´ëÇÑ °Ë»ö ¹üÀ§´Â ´ÙÀ½°ú °°ÀÌ ÀÛ¼ºÇÕ´Ï´Ù.

    // Get the type
    IType type = ...;

    // Create search scope
    IJavaSearchScope scope = SearchEngine.createHierarchyScope(type);

¸¶Áö¸·À¸·Î Àüü ÀÛ¾÷°ø°£¿¡ ´ëÇÑ °Ë»ö ¹üÀ§¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.

    // Create search scope
    IJavaSearchScope scope = SearchEngine.createWorkspaceScope();

°Ë»ö

°Ë»ö ÆÐÅϰú °Ë»ö ¹üÀ§¸¦ ÀÛ¼ºÇß°í IJavaSearchResultCollector¸¦ ±¸ÇöÇßÀ¸¸é, ´ÙÀ½°ú °°ÀÌ °Ë»ö Á¶È¸¸¦ ½ÃÀÛÇÒ ¼ö ÀÖ½À´Ï´Ù.

    // Get the search pattern
    ISearchPattern pattern = ...;

    // Get the search scope
    IJavaSearchScope scope = ...;

    // Get the search result collector
    IJavaSearchResultCollector collector = ...;

    // Search
    SearchEngine searchEngine = new SearchEngine();
    searchEngine.search(ResourcesPlugin.getWorkspace(), pattern, scope, collector);

°Ë»ö ½ÃÀÛ °ø°í¸¦ aboutToStart ¸Þ¼Òµå¸¦ »ç¿ëÇÏ¿© °Ë»ö °á°ú ÄÝ·ºÅÍ·Î Àü¼ÛÇÕ´Ï´Ù.  ±×·± ´ÙÀ½, accept ¸Þ¼Òµå¸¦ »ç¿ëÇÏ¿© °¢ °Ë»ö °á°ú¸¦ º¸°íÇÕ´Ï´Ù. ¸¶Áö¸·À¸·Î doneÀº °Ë»öÀÌ Á¾·áµÇ¾úÀ½À» ³ªÅ¸³À´Ï´Ù.

°Ë»ö °á°ú ¼öÁý

°Ë»ö °á°ú´Â accept ¸Þ¼Òµå¸¦ »ç¿ëÇÏ¿© º¸°íÇÕ´Ï´Ù. ¾Æ·¡ ´Ü¶ôÀº ÀÌ ¸Þ¼Òµå¿¡ ´ëÇÑ °¢ Àμö¸¦ ÀÚ¼¼È÷ ¼³¸íÇÕ´Ï´Ù.

ÀÚ¿ø ¹× Java ¿ä¼Ò

°Ë»ö °á°ú´Â Java ¿ä¼Ò(¿¹: À¯Çü ¼±¾ð)¿¡ ÇØ´çÇϰųª Java ¿ä¼Ò(¿¹: ¸Þ¼Òµå ³»ºÎ À¯Çü¿¡ ´ëÇÑ ÂüÁ¶)¿¡ Æ÷Ç﵃ ¼ö ÀÖ½À´Ï´Ù. °Ë»ö ¿£ÁøÀº Ç×»ó °Ë»ö °á°ú¿Í ÀÏÄ¡Çϰųª °Ë»ö °á°ú¸¦ Æ÷ÇÔÇÏ´Â °¡Àå ³»ºÎÀÇ Java ¿ä¼Ò¸¦ ãÀ¸·Á°í ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, À̸§º° À¯Çü ¼±¾ðÀ» °Ë»öÇÏ¸é ·ÎÄà À¯Çü ¼±¾ðÀ» ãÀ» ¼ö ÀÖ½À´Ï´Ù. Java ¸ðµ¨Àº ·ÎÄà À¯ÇüÀ» ³ªÅ¸³»Áö ¾ÊÀ¸¹Ç·Î ÀÌ ·ÎÄà À¯Çü ¼±¾ðÀ» Æ÷ÇÔÇÏ´Â ¸Þ¼Òµå´Â °á°ú ÄÝ·ºÅÍ¿¡ ºÎ¿©µË´Ï´Ù.

¶ÇÇÑ °Ë»ö ¿£ÁøÀº Java ¿ä¼Ò°¡ µé¾î ÀÖ´Â ÀÚ¿øÀ» °á°ú ÄÝ·ºÅÍ¿¡ Á¦°øÇÏ·Á°í ÇÕ´Ï´Ù. µû¶ó¼­ Java ¿ä¼Ò°¡ ÄÄÆÄÀÏ ´ÜÀ§¿¡¼­ ¸Þ¼ÒµåÀÎ °æ¿ì ÀÚ¿øÀº ÇØ´çÇÏ´Â IFileÀÔ´Ï´Ù. ¿ä¼Ò°¡ .jar ÆÄÀÏ¿¡ µé¾î ÀÖ´Â °æ¿ì ÀÚ¿øÀº .jar ÆÄÀÏÀÔ´Ï´Ù. ÀÌ °æ¿ì .jar ÆÄÀÏÀº ÀÛ¾÷°ø°£¿¡ ÀÖ½À´Ï´Ù. ÀÚ¿øÀÌ ¿ÜºÎ .jar ÆÄÀÏÀ̸é ÀÚ¿øÀº ³ÎÀÔ´Ï´Ù.

¼Ò½º À§Ä¡

¼Ò½º À§Ä¡´Â °Ë»ö °á°ú¸¦ Æ÷ÇÔÇÏ´Â ÄÄÆÄÀÏ ´ÜÀ§¿Í °ü·ÃÀÌ ÀÖ½À´Ï´Ù. °Ë»ö °á°ú°¡ .jar ÆÄÀÏ¿¡ µé¾î ÀÖ´Â °æ¿ì ¼Ò½º À§Ä¡´Â ÷ºÎµÈ ¼Ò½º¿Í °ü·ÃÀÌ ÀÖ½À´Ï´Ù. .jar ÆÄÀÏ¿¡ ÷ºÎµÈ ¼Ò½º°¡ ¾ø´Â °æ¿ì ¼Ò½º À§Ä¡´Â (-1, -1)ÀÔ´Ï´Ù.

Á¤È®ÇÑ °Ë»ö °á°ú¿Í ºÎÁ¤È®ÇÑ °Ë»ö °á°ú

´ëºÎºÐÀÇ °æ¿ì¿¡ °Ë»ö °á°ú´Â Á¤È®Çϸç, À̰ÍÀº ÁöÁ¤µÈ ÀÏÄ¡»çÇ×ÀÌ ¿äûÇÑ °ÍÀÓÀ» °Ë»ö ¿£ÁøÀÌ ÆÇº°ÇÒ ¼ö ÀÖÀ½À» ÀǹÌÇÕ´Ï´Ù. ±×·¯³ª ÀϺΠ°æ¿ì °Ë»ö ¿£ÁøÀÌ ÆÇº°ÇÒ ¼ö ¾ø´Âµ¥, ÀÌ °°Àº °æ¿ì ÀÏÄ¡»çÇ×Àº ºÎÁ¤È®ÇÕ´Ï´Ù. ÀÏÄ¡»çÇ×ÀÌ ºÎÁ¤È®ÇÒ ¼ö ÀÖ´Â ¸î °¡Áö ÀÌÀ¯´Â ´ÙÀ½°ú °°½À´Ï´Ù.

Copyright IBM Corporation and others 2000, 2003. All Rights Reserved.