global with sharing class infrastructure {
global abstract class handler {
global abstract object execute(map < string, object > data);
}
}
Пакет установлен на орг, на орге сделана имплементация интерфейса из пакета
global class HLP_customActions {
global class copyData extends xrl.infrastructure.handler {
public override object execute(map < string, object > data) {
system.debug(LoggingLevel.Error,'EXECUTE START');
}
}
}
Так вот мне нужно через ApexTypeImplementor получить список всех классов с имплементаций X.infrastructure.handler
на самом деле классная штука, особенно если нужно достать все классы которые имплементируют Queueable, Batchable, Schedulable... Не нужно ковыряться с ApexClass.Body
global with sharing class infrastructure {
global abstract class handler {
global abstract object execute(map < string, object > data);
}
}
Пакет установлен на орг, на орге сделана имплементация интерфейса из пакета
global class HLP_customActions {
global class copyData extends xrl.infrastructure.handler {
public override object execute(map < string, object > data) {
system.debug(LoggingLevel.Error,'EXECUTE START');
}
}
}
Так вот мне нужно через ApexTypeImplementor получить список всех классов с имплементаций X.infrastructure.handler
Здесь же нету интерфейсов. ApexTypeImplementor чекает классы которые имплементирую интерфейсы а не те которые расширяют классы.
заменил абс класс на интерфес - все работает...
я не совсем понял почему я должен что-то менять:)
У меня есть описание интерфейса и есть его имплементация. ApexTypeImplementor должен показывать имплементацию любого интерфейса или я ошибаюсь?:)
Сори, я не имел ввиду что ты должен что-то менять. Я хотел сказать что ApexTypeImplementor вытягивает только классы которые имплементирую интерфейс(implements Infrastructure.Handler).Но в твоем примере ты имплементируешь абстрактный класс extends Infrastructure.Handler.