• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java TypeUse类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: getTypeUse

import com.sun.tools.internal.xjc.model.TypeUse; //导入依赖的package包/类
public TypeUse getTypeUse(XSSimpleType owner) {
    if(typeUse!=null)
        return typeUse;

    JCodeModel cm = getCodeModel();

    JDefinedClass a;
    try {
        a = cm._class(adapter);
        a.hide();   // we assume this is given by the user
        a._extends(cm.ref(XmlAdapter.class).narrow(String.class).narrow(
                cm.ref(type)));
    } catch (JClassAlreadyExistsException e) {
        a = e.getExistingClass();
    }

    // TODO: it's not correct to say that it adapts from String,
    // but OTOH I don't think we can compute that.
    typeUse = TypeUseFactory.adapt(
            CBuiltinLeafInfo.STRING,
            new CAdapter(a));

    return typeUse;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:25,代码来源:BIConversion.java


示例2: createValueProperty

import com.sun.tools.internal.xjc.model.TypeUse; //导入依赖的package包/类
public CValuePropertyInfo createValueProperty(String defaultName,boolean forConstant,
    XSComponent source,TypeUse tu, QName typeName) {

    markAsAcknowledged();
    constantPropertyErrorCheck();

    String name = getPropertyName(forConstant);
    if(name==null) {
        name = defaultName;
        if(tu.isCollection() && getBuilder().getGlobalBinding().isSimpleMode())
            name = JJavaName.getPluralForm(name);
    }

    CValuePropertyInfo prop = wrapUp(new CValuePropertyInfo(name, source, getCustomizations(source), source.getLocator(), tu, typeName), source);
    BIInlineBinaryData.handle(source, prop);
    return prop;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:18,代码来源:BIProperty.java


示例3: createAttributeProperty

import com.sun.tools.internal.xjc.model.TypeUse; //导入依赖的package包/类
public CAttributePropertyInfo createAttributeProperty( XSAttributeUse use, TypeUse tu ) {

        boolean forConstant =
            getCustomization(use).isConstantProperty() &&
            use.getFixedValue()!=null;

        String name = getPropertyName(forConstant);
        if(name==null) {
            NameConverter conv = getBuilder().getNameConverter();
            if(forConstant)
                name = conv.toConstantName(use.getDecl().getName());
            else
                name = conv.toPropertyName(use.getDecl().getName());
            if(tu.isCollection() && getBuilder().getGlobalBinding().isSimpleMode())
                name = JJavaName.getPluralForm(name);
        }

        markAsAcknowledged();
        constantPropertyErrorCheck();

        return wrapUp(new CAttributePropertyInfo(name,use,getCustomizations(use),use.getLocator(),
                BGMBuilder.getName(use.getDecl()), tu,
                BGMBuilder.getName(use.getDecl().getType()), use.isRequired() ),use);
    }
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:25,代码来源:BIProperty.java


示例4: getJavaType

import com.sun.tools.internal.xjc.model.TypeUse; //导入依赖的package包/类
public TypeAndAnnotation getJavaType(QName xmlTypeName) {
    // TODO: primitive type handling?
    TypeUse use = model.typeUses().get(xmlTypeName);
    if(use==null)   return null;

    return new TypeAndAnnotationImpl(outline,use);
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:8,代码来源:JAXBModelImpl.java


示例5: ElementMappingImpl

import com.sun.tools.internal.xjc.model.TypeUse; //导入依赖的package包/类
protected ElementMappingImpl(JAXBModelImpl parent, CElementInfo elementInfo) {
    super(parent,elementInfo);

    TypeUse t = clazz.getContentType();
    if(clazz.getProperty().isCollection())
        t = TypeUseFactory.makeCollection(t);
    CAdapter a = clazz.getProperty().getAdapter();
    if(a!=null)
        t = TypeUseFactory.adapt(t,a);
    taa = new TypeAndAnnotationImpl(parent.outline,t);
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:12,代码来源:ElementMappingImpl.java


示例6: attributeUse

import com.sun.tools.internal.xjc.model.TypeUse; //导入依赖的package包/类
/**
 * Attribute use always becomes a property.
 */
public void attributeUse(XSAttributeUse use) {
    boolean hasFixedValue = use.getFixedValue()!=null;
    BIProperty pc = BIProperty.getCustomization(use);

    // map to a constant property ?
    boolean toConstant = pc.isConstantProperty() && hasFixedValue;
    TypeUse attType = bindAttDecl(use.getDecl());

    CPropertyInfo prop = pc.createAttributeProperty( use, attType );

    if(toConstant) {
        prop.defaultValue = CDefaultValue.create(attType,use.getFixedValue());
        prop.realization = builder.fieldRendererFactory.getConst(prop.realization);
    } else
    if(!attType.isCollection() && (prop.baseType == null ? true : !prop.baseType.isPrimitive())) {
        // don't support a collection default value. That's difficult to do.
        // primitive types default value is problematic too - we can't check whether it has been set or no ( ==null) isn't possible TODO: emit a waring in these cases

        if(use.getDefaultValue()!=null) {
            // this attribute use has a default value.
            // the item type is guaranteed to be a leaf type... or TODO: is it really so?
            // don't support default values if it's a list
            prop.defaultValue = CDefaultValue.create(attType,use.getDefaultValue());
        } else
        if(use.getFixedValue()!=null) {
            prop.defaultValue = CDefaultValue.create(attType,use.getFixedValue());
        }
    } else if(prop.baseType != null && prop.baseType.isPrimitive()) {
        ErrorReporter errorReporter = Ring.get(ErrorReporter.class);

        errorReporter.warning(prop.getLocator(), Messages.WARN_DEFAULT_VALUE_PRIMITIVE_TYPE, prop.baseType.name());
    }

    getCurrentBean().addProperty(prop);
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:39,代码来源:BindPurple.java


示例7: bindAttDecl

import com.sun.tools.internal.xjc.model.TypeUse; //导入依赖的package包/类
private TypeUse bindAttDecl(XSAttributeDecl decl) {
    SimpleTypeBuilder stb = Ring.get(SimpleTypeBuilder.class);
    stb.refererStack.push( decl );
    try {
        return stb.build(decl.getType());
    } finally {
        stb.refererStack.pop();
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:10,代码来源:BindPurple.java


示例8: build

import com.sun.tools.internal.xjc.model.TypeUse; //导入依赖的package包/类
/**
 * Entry point from outside. Builds a BGM type expression
 * from a simple type schema component.
 *
 * @param type
 *      the simple type to be bound.
 */
public TypeUse build( XSSimpleType type ) {
    XSSimpleType oldi = initiatingType;
    this.initiatingType = type;

    TypeUse e = checkRefererCustomization(type);
    if(e==null)
        e = compose(type);

    initiatingType = oldi;

    return e;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:20,代码来源:SimpleTypeBuilder.java


示例9: buildDef

import com.sun.tools.internal.xjc.model.TypeUse; //导入依赖的package包/类
/**
 * A version of the {@link #build(XSSimpleType)} method
 * used to bind the definition of a class generated from
 * the given simple type.
 */
public TypeUse buildDef( XSSimpleType type ) {
    XSSimpleType oldi = initiatingType;
    this.initiatingType = type;

    TypeUse e = type.apply(composer);

    initiatingType = oldi;

    return e;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:16,代码来源:SimpleTypeBuilder.java


示例10: listSimpleType

import com.sun.tools.internal.xjc.model.TypeUse; //导入依赖的package包/类
public TypeUse listSimpleType(XSListSimpleType type) {
    // bind item type individually and then compose them into a list
    // facets on the list shouldn't be taken account when binding item types,
    // so weed to call build(), not compose().
    XSSimpleType itemType = type.getItemType();
    refererStack.push(itemType);
    TypeUse tu = TypeUseFactory.makeCollection(build(type.getItemType()));
    refererStack.pop();
    return tu;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:11,代码来源:SimpleTypeBuilder.java


示例11: unionSimpleType

import com.sun.tools.internal.xjc.model.TypeUse; //导入依赖的package包/类
public TypeUse unionSimpleType(XSUnionSimpleType type) {
    boolean isCollection = false;
    for( int i=0; i<type.getMemberSize(); i++ )
        if(type.getMember(i).getVariety()==XSVariety.LIST || type.getMember(i).getVariety()==XSVariety.UNION) {
            isCollection = true;
            break;
        }

    TypeUse r = CBuiltinLeafInfo.STRING;
    if(isCollection)
        r = TypeUseFactory.makeCollection(r);
    return r;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:14,代码来源:SimpleTypeBuilder.java


示例12: XmlTypeRef

import com.sun.tools.internal.xjc.model.TypeUse; //导入依赖的package包/类
public XmlTypeRef(XSElementDecl decl) {
    this.decl = decl;
    SimpleTypeBuilder stb = Ring.get(SimpleTypeBuilder.class);
    stb.refererStack.push(decl);
    TypeUse r = Ring.get(ClassSelector.class).bindToType(decl.getType(),decl);
    stb.refererStack.pop();
    target = r;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:9,代码来源:RawTypeSetBuilder.java


示例13: createAttribute

import com.sun.tools.internal.xjc.model.TypeUse; //导入依赖的package包/类
protected CPropertyInfo createAttribute(
    String elementName, String attributeName, String attributeType,
    String[] enums, short attributeUse, String defaultValue )
        throws SAXException {

    boolean required = attributeUse==USE_REQUIRED;

    // get the attribute-property declaration
    BIElement edecl = bindInfo.element(elementName);
    BIAttribute decl=null;
    if(edecl!=null)     decl=edecl.attribute(attributeName);

    String propName;
    if(decl==null)  propName = model.getNameConverter().toPropertyName(attributeName);
    else            propName = decl.getPropertyName();

    QName qname = new QName("",attributeName);

    // if no declaration is specified, just wrap it by
    // a FieldItem and let the normalizer handle its content.
    TypeUse use;

    if(decl!=null && decl.getConversion()!=null)
        use = decl.getConversion().getTransducer();
    else
        use = builtinConversions.get(attributeType);

    CPropertyInfo r = new CAttributePropertyInfo(
        propName, null,null/*TODO*/, copyLocator(), qname, use, null, required );

    if(defaultValue!=null)
        r.defaultValue = CDefaultValue.create( use, new XmlString(defaultValue) );

    return r;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:36,代码来源:TDTDReader.java


示例14: getConversion

import com.sun.tools.internal.xjc.model.TypeUse; //导入依赖的package包/类
/**
 * When this element is an PCDATA-only content model,
 * returns the conversion for it. Otherwise the behavior is undefined.
 */
private TypeUse getConversion() {
    assert contentModel == Term.EMPTY; // this is PCDATA-only element

    BIElement e = owner.bindInfo.element(name);
    if(e!=null) {
        BIConversion conv = e.getConversion();
        if(conv!=null)
            return conv.getTransducer();
    }
    return CBuiltinLeafInfo.STRING;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:16,代码来源:Element.java


示例15: onDataType

import com.sun.tools.internal.xjc.model.TypeUse; //导入依赖的package包/类
private TypeUse onDataType(String datatypeLibrary, String type) {
    DatatypeLib lib = compiler.datatypes.get(datatypeLibrary);
    if(lib!=null) {
        TypeUse use = lib.get(type);
        if(use!=null)
            return use;
    }

    // unknown
    return CBuiltinLeafInfo.STRING;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:12,代码来源:TypeUseBinder.java


示例16: onContainer

import com.sun.tools.internal.xjc.model.TypeUse; //导入依赖的package包/类
private TypeUse onContainer(DContainerPattern p) {
    TypeUse t=null;
    for( DPattern child : p ) {
        TypeUse s = child.accept(this);
        if(t!=null && t!=s)
            return CBuiltinLeafInfo.STRING; // heterogenous
        t = s;
    }
    return t;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:11,代码来源:TypeUseBinder.java



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java Entity类代码示例发布时间:2022-05-23
下一篇:
Java JTryBlock类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap