当前位置: 首页>>代码示例>>Java>>正文


Java MethodLocatable类代码示例

本文整理汇总了Java中com.sun.xml.internal.bind.v2.model.annotation.MethodLocatable的典型用法代码示例。如果您正苦于以下问题:Java MethodLocatable类的具体用法?Java MethodLocatable怎么用?Java MethodLocatable使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


MethodLocatable类属于com.sun.xml.internal.bind.v2.model.annotation包,在下文中一共展示了MethodLocatable类的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: RegistryInfoImpl

import com.sun.xml.internal.bind.v2.model.annotation.MethodLocatable; //导入依赖的package包/类
/**
 * Picks up references in this registry to other types.
 */
RegistryInfoImpl(ModelBuilder<T,C,F,M> builder, Locatable upstream, C registryClass) {
    this.nav = builder.nav;
    this.registryClass = registryClass;
    this.upstream = upstream;
    builder.registries.put(getPackageName(),this);

    if(nav.getDeclaredField(registryClass,ContextFactory.USE_JAXB_PROPERTIES)!=null) {
        // the user is trying to use ObjectFactory that we generate for interfaces,
        // that means he's missing jaxb.properties
        builder.reportError(new IllegalAnnotationException(
            Messages.MISSING_JAXB_PROPERTIES.format(getPackageName()),
            this
        ));
        // looking at members will only add more errors, so just abort now
        return;
    }

    for( M m : nav.getDeclaredMethods(registryClass) ) {
        XmlElementDecl em = builder.reader.getMethodAnnotation(
            XmlElementDecl.class, m, this );

        if(em==null) {
            if(nav.getMethodName(m).startsWith("create")) {
                // this is a factory method. visit this class
                references.add(
                    builder.getTypeInfo(nav.getReturnType(m),
                        new MethodLocatable<M>(this,m,nav)));
            }

            continue;
        }

        ElementInfoImpl<T,C,F,M> ei;
        try {
            ei = builder.createElementInfo(this,m);
        } catch (IllegalAnnotationException e) {
            builder.reportError(e);
            continue;   // recover by ignoring this element
        }

        // register this mapping
        // TODO: any chance this could cause a stack overflow (by recursively visiting classes)?
        builder.typeInfoSet.add(ei,builder);
        references.add(ei);
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:50,代码来源:RegistryInfoImpl.java


注:本文中的com.sun.xml.internal.bind.v2.model.annotation.MethodLocatable类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。