Java 在返回类类型时取消选中转换

Java 在返回类类型时取消选中转换,java,spring,generics,wicket-7,wicketstuff,Java,Spring,Generics,Wicket 7,Wicketstuff,我有一个返回类类型的方法,它工作正常。 问题是。。。我收到一些编译警告,指示未经检查的转换 以下是我收到的警告信息: 支持.java public class ResultList2 { ... private Component createPaging() { return new Paging("paging", getRequestPageContext(), new Paging.Support() { @Override

我有一个返回类类型的方法,它工作正常。
问题是。。。我收到一些编译警告,指示未经检查的转换

以下是我收到的警告信息:

支持.java

public class ResultList2 {
    ...
    private Component createPaging() {
        return new Paging("paging", getRequestPageContext(), new Paging.Support() {
            @Override
            public void switchPage(AjaxRequestTarget target, int targetPageNum) {
                getRequestPageContext().switchPage(target, targetPageNum);
            }
            @Override
            public int getTotalNum() {
                return getSearchResult().getTotalNum();
            }
            @Override
            public int getPageSize() {
                return getSearchResult().getPageSize();
            }
            @Override
            public int getLastPageNum() {
                return getSearchResult().getLastPageNum();
            }
            @Override
            public int getCurrentPageNum() {
                return getSearchResult().getCurrentPageNum();
            }

            @SuppressWarnings("unchecked")
            @Override
            public Class<RefreshSearchResultEventPayload> getAjaxEventPayloadClass() {
                return RefreshSearchResultEventPayload.class;
            }

            @Override
            public void decorateAjaxAttributes(AjaxRequestAttributes attributes, String pageNumMarkupId) {
                decorateAjaxRefreshSearchResult(attributes, pageNumMarkupId);
            }
        });
    }
    ...
}
public static interface Support extends Serializable {
    ...
    <P extends AjaxEventPayload> Class<P> getAjaxEventPayloadClass();
    ...
}
public class Paging {
    ...
    private Support m_support;
    ...

    @Override
    public void onEvent(IEvent<?> event) {
        super.onEvent(event);
        WicketUtil.onEvent(event, m_support.getAjaxEventPayloadClass(), new AjaxEventHandler<AjaxEventPayload>() {
            @Override
            public void onEvent(IEvent<?> event, AjaxRequestTarget target, AjaxEventPayload paymentLoad) {
                m_firstPageNumModel.detach();
                m_previousPageNumModel.detach();
                m_nextPageNumModel.detach();
                m_lastPageNumModel.detach();
                target.add(m_container);
            }
        });
    }
    ...
}
public class WicketUtil {
    ...
    public static <P extends AjaxEventPayload> void onEvent(IEvent<?> event, Class<P> targetPayload, AjaxEventHandler<P> handler) {
        if (event.getPayload() != null) {
            if (targetPayload.isAssignableFrom(event.getPayload().getClass())) {
                P p = (AjaxEventPayload)event.getPayload();
                handler.onEvent(event, p.getTarget(), p);
            }

        }
    }
    ...
}
公共静态接口支持扩展了可序列化{
...
getAjaxEventPayloadClass();
...
}
Paging.java

public class ResultList2 {
    ...
    private Component createPaging() {
        return new Paging("paging", getRequestPageContext(), new Paging.Support() {
            @Override
            public void switchPage(AjaxRequestTarget target, int targetPageNum) {
                getRequestPageContext().switchPage(target, targetPageNum);
            }
            @Override
            public int getTotalNum() {
                return getSearchResult().getTotalNum();
            }
            @Override
            public int getPageSize() {
                return getSearchResult().getPageSize();
            }
            @Override
            public int getLastPageNum() {
                return getSearchResult().getLastPageNum();
            }
            @Override
            public int getCurrentPageNum() {
                return getSearchResult().getCurrentPageNum();
            }

            @SuppressWarnings("unchecked")
            @Override
            public Class<RefreshSearchResultEventPayload> getAjaxEventPayloadClass() {
                return RefreshSearchResultEventPayload.class;
            }

            @Override
            public void decorateAjaxAttributes(AjaxRequestAttributes attributes, String pageNumMarkupId) {
                decorateAjaxRefreshSearchResult(attributes, pageNumMarkupId);
            }
        });
    }
    ...
}
public static interface Support extends Serializable {
    ...
    <P extends AjaxEventPayload> Class<P> getAjaxEventPayloadClass();
    ...
}
public class Paging {
    ...
    private Support m_support;
    ...

    @Override
    public void onEvent(IEvent<?> event) {
        super.onEvent(event);
        WicketUtil.onEvent(event, m_support.getAjaxEventPayloadClass(), new AjaxEventHandler<AjaxEventPayload>() {
            @Override
            public void onEvent(IEvent<?> event, AjaxRequestTarget target, AjaxEventPayload paymentLoad) {
                m_firstPageNumModel.detach();
                m_previousPageNumModel.detach();
                m_nextPageNumModel.detach();
                m_lastPageNumModel.detach();
                target.add(m_container);
            }
        });
    }
    ...
}
public class WicketUtil {
    ...
    public static <P extends AjaxEventPayload> void onEvent(IEvent<?> event, Class<P> targetPayload, AjaxEventHandler<P> handler) {
        if (event.getPayload() != null) {
            if (targetPayload.isAssignableFrom(event.getPayload().getClass())) {
                P p = (AjaxEventPayload)event.getPayload();
                handler.onEvent(event, p.getTarget(), p);
            }

        }
    }
    ...
}
公共类分页{
...
私人支持m_支持;
...
@凌驾
公共无效OneEvent(IEEvent事件){
super.onEvent(事件);
OneEvent(事件,m_支持。getAjaxEventPayloadClass(),新的AjaxEventHandler()){
@凌驾
public void OneEvent(IEEvent事件、AjaxRequestTarget目标、AjaxEventPayload paymentLoad){
m_firstPageNumModel.detach();
m_previousPageNumModel.detach();
m_nextPageNumModel.detach();
m_lastPageNumModel.detach();
添加(m_容器);
}
});
}
...
}
WicketUtil.java

public class ResultList2 {
    ...
    private Component createPaging() {
        return new Paging("paging", getRequestPageContext(), new Paging.Support() {
            @Override
            public void switchPage(AjaxRequestTarget target, int targetPageNum) {
                getRequestPageContext().switchPage(target, targetPageNum);
            }
            @Override
            public int getTotalNum() {
                return getSearchResult().getTotalNum();
            }
            @Override
            public int getPageSize() {
                return getSearchResult().getPageSize();
            }
            @Override
            public int getLastPageNum() {
                return getSearchResult().getLastPageNum();
            }
            @Override
            public int getCurrentPageNum() {
                return getSearchResult().getCurrentPageNum();
            }

            @SuppressWarnings("unchecked")
            @Override
            public Class<RefreshSearchResultEventPayload> getAjaxEventPayloadClass() {
                return RefreshSearchResultEventPayload.class;
            }

            @Override
            public void decorateAjaxAttributes(AjaxRequestAttributes attributes, String pageNumMarkupId) {
                decorateAjaxRefreshSearchResult(attributes, pageNumMarkupId);
            }
        });
    }
    ...
}
public static interface Support extends Serializable {
    ...
    <P extends AjaxEventPayload> Class<P> getAjaxEventPayloadClass();
    ...
}
public class Paging {
    ...
    private Support m_support;
    ...

    @Override
    public void onEvent(IEvent<?> event) {
        super.onEvent(event);
        WicketUtil.onEvent(event, m_support.getAjaxEventPayloadClass(), new AjaxEventHandler<AjaxEventPayload>() {
            @Override
            public void onEvent(IEvent<?> event, AjaxRequestTarget target, AjaxEventPayload paymentLoad) {
                m_firstPageNumModel.detach();
                m_previousPageNumModel.detach();
                m_nextPageNumModel.detach();
                m_lastPageNumModel.detach();
                target.add(m_container);
            }
        });
    }
    ...
}
public class WicketUtil {
    ...
    public static <P extends AjaxEventPayload> void onEvent(IEvent<?> event, Class<P> targetPayload, AjaxEventHandler<P> handler) {
        if (event.getPayload() != null) {
            if (targetPayload.isAssignableFrom(event.getPayload().getClass())) {
                P p = (AjaxEventPayload)event.getPayload();
                handler.onEvent(event, p.getTarget(), p);
            }

        }
    }
    ...
}
公共类WicketUtil{
...
公共静态void OneEvent(IEEvent事件,类

targetPayload,AjaxEventHandler

handler){ if(event.getPayload()!=null){ if(targetPayload.isAssignableFrom(event.getPayload().getClass())){ P=(AjaxEventPayload)事件.getPayload(); onEvent(事件,p.getTarget(),p); } } } ... }

m_support.getAjaxEventPayloadClass()
WicketUtil.onEvent()上调用/传递。。。特别是第二个参数。
RefreshSearchResultEventPayload
只是扩展
AjaxEventPayload
的类之一,还有其他类扩展到
AjaxEventPayload
,并传递给
WicketUtil.onEvent()
,这应该是:

public static interface Support extends Serializable {
    ...
    Class<? extends AjaxEventPayload> getAjaxEventPayloadClass();
    ...
}
公共静态接口支持扩展了可序列化{
...
类这应该是:

public static interface Support extends Serializable {
    ...
    Class<? extends AjaxEventPayload> getAjaxEventPayloadClass();
    ...
}
公共静态接口支持扩展了可序列化{
...
等级