2012-06-01 16 views
5

Özel Eclipse eklentimde, bir Java sınıfının tam olarak nitelenmiş sınıf adını String olarak aldım ve gerçek dosya yolunu öğrenmek istiyorum. Aslında, içinde bulunduğu kaynak klasörün adını bilmek istiyorum.Eclipse eklentisinde bir Java kaynak dosyasının mutlak dosya yolu nasıl belirlenir?

Bu sınıf, Çalışma Alanındaki herhangi bir Java projesinden olabilir. Kaynak klasör adları isteğe bağlıdır.

Eclipse 3.6 kullanıyorum.

Teşekkürler!

cevap

2

Arama motoru API'sini kullanmanız gerekir. Bakınız org.eclipse.jdt.core.search.SearchEngine.

Her biri kendi seçeneklerine sahip olarak arayabileceğiniz çeşitli statik işlevler olduğunu görebilirsiniz. Uygun bir org.eclipse.jdt.core.search.SearchPattern oluşturup, bir kapsam (çalışma alanı) ve bir istekte bulunan (tüm sonuçları toplayan bir şey) arama motoruna iletmeniz gerekir.

Tipik olarak, Java modelindeki türlere erişmek için kullanılan genel API olan IType s gibi bir sürü eşya alırsınız. Herhangi bir türde dosya sistemi konumunu almak için IType.getResource().getLocation()'u arayabilirsiniz. GetResource yöntemi boş döndürebilir, dolayısıyla bunu denetlemeniz gerekir.

+0

Teşekkür ederiz! Bu çok umut verici geliyor. Pazartesi günü bunu deneyebilir ve çalışıp çalışmadığını size bildiririm. Belirli bir 'SearchEngine 'yöntemini tavsiye edebilir misiniz? –

+0

Açık Tip iletişim kutusu (Control + Shift + T) Aynı SearchEngine'ı kullanır. – Ravi

+0

@Ravi Evet, umduğum şey buydu! Btw, sadece 'SearchEngine' sınıfının yeni bir örneğini oluşturabilir miyim, yoksa bazı Eclipse fabrikalarından almam gerekir mi? –

2

Java sınıfının IResource numarasına ulaşmak için JDT API stuff'u kullanmanız gerekir. Buradan, içerdiği klasörleri ve ihtiyacınız olan her şeyi almak için Kaynak API'sını kullanabilirsiniz.

İlgili konular