2015-12-11 2 views
1
package com.restfb.types; 

import static com.restfb.util.StringUtils.isBlank; 

import com.restfb.Facebook; 
import com.restfb.util.ReflectionUtils; 

import java.io.Serializable; 
import java.util.ArrayList; 
import java.util.Collections; 
import java.util.List; 

import lombok.Getter; 
import lombok.Setter; 

/** 
* Base class which encapsulates behavior and properties common to most 
* <a href="http://developers.facebook.com/docs/reference/api/">Graph API types</a>. 
* 
* @author <a href="http://restfb.com">Mark Allen</a> 
* @since 1.5 
*/ 
public class FacebookType implements Serializable { 

    /** 
    * This object's unique Facebook ID. 
    * 
    * @return This object's unique Facebook ID. 
    */ 
    @Getter 
    @Setter 
    @Facebook 
    private String id; 

} 

Это код restfb, и я не могу найти, как заменить аннотацию @Getter или @Setter кодом внутри них. Я использую eclipse ide, и я уже установил lombok в своем eclipse.Как извлечь код из аннотации @Getter?

+0

Что вы подразумеваете под «извлечением кода из аннотации» или «заменой аннотации»? Lombok имеет встроенный обработчик аннотации, который _replaces_ их во время компиляции. Их веб-презентация имеет четкое представление о том, как запустить ломбок (https://projectlombok.org/features/index.html). Если вам что-то непонятно, что именно? – Seelenvirtuose

+0

У меня есть исходный код, такой как выше, который содержит аннотацию @Getter, и я хочу, чтобы эта аннотация была заменена исходным кодом, и я хочу видеть этот код, для этого я успешно установил lombok и добавлю lombok.jar в свой проект, и я запустите эту программу, и она работает нормально, но я не могу видеть исходный код. Поэтому мой вопрос заключается в том, как увидеть исходный код, который после замены этой нотации. –

+0

Это не _source code_, который изменяется этими аннотациями. Это сгенерированный _byte code_, который имеет изменения. При компиляции компилятор ищет комманды для обработки аннотаций. Вот почему вы должны поставить файл jombok jar в путь класса при компиляции. – Seelenvirtuose

ответ

3

Процесс, который вас интересует, называется «delombok». Я не знаю о плагине Eclipse, который делает это (есть один для Intellij). Но вы по-прежнему можете использовать инструмент командной строки для этого проекта Lombok. Подробности: here. Таким образом, вы можете выбежала из командной строки

java -jar lombok.jar delombok -p FacebookType.java 

Вы должны установить правильный путь для lombok.jar и файл, который я предполагаю, называется FacebookType.java. Можно также выполнить, что для всех файлов в папке Src:

java -jar lombok.jar delombok src -d src-delomboked 

src быть папка с исходными файлами, которые используют Ломбок аннотаций и src-delomboked папка вывода.

Существует также maven plugin, который вы можете потенциально использовать для этой цели.

+0

Я благодарю его работу как шарм, он создал новое имя папки src-delomboked в том же месте, и папка содержит все java-файлы с источником, который я хочу видеть, теперь предположим, что я меняю какой-то источник кода, а затем как могу lomboked this и объединить его с моей фактической папкой src? Сообщите мне, если мой вопрос не ясен –

+0

Я не думаю, что можно повторно использовать файл с аннотациями после того, как вы вручную измените автоматически сгенерированный код. Вы можете просто перезаписать этот конкретный файл с помощью delomboked версии и продолжать использовать аннотации Lombok в других файлах. –

+0

Хорошо сэр Спасибо за вашу помощь :-) –

Смежные вопросы