本文整理汇总了Java中com.sun.tools.internal.xjc.model.CClassInfoParent类的典型用法代码示例。如果您正苦于以下问题:Java CClassInfoParent类的具体用法?Java CClassInfoParent怎么用?Java CClassInfoParent使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
CClassInfoParent类属于com.sun.tools.internal.xjc.model包,在下文中一共展示了CClassInfoParent类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: getContainer
import com.sun.tools.internal.xjc.model.CClassInfoParent; //导入依赖的package包/类
public JClassContainer getContainer(CClassInfoParent parent, Aspect aspect) {
CClassInfoParent.Visitor<JClassContainer> v;
switch (aspect) {
case EXPOSED:
v = exposedContainerBuilder;
break;
case IMPLEMENTATION:
v = implContainerBuilder;
break;
default:
assert false;
throw new IllegalStateException();
}
return parent.accept(v);
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:16,代码来源:BeanGenerator.java
示例2: buildContents
import com.sun.tools.internal.xjc.model.CClassInfoParent; //导入依赖的package包/类
/** Fill-in the contents of each classes. */
private void buildContents() {
ClassSelector cs = getClassSelector();
SimpleTypeBuilder stb = Ring.get(SimpleTypeBuilder.class);
for( XSSchema s : Ring.get(XSSchemaSet.class).getSchemas() ) {
BISchemaBinding sb = getBindInfo(s).get(BISchemaBinding.class);
if(sb!=null && !sb.map) {
sb.markAsAcknowledged();
continue; // no mapping for this package
}
getClassSelector().pushClassScope( new CClassInfoParent.Package(
getClassSelector().getPackage(s.getTargetNamespace())) );
checkMultipleSchemaBindings(s);
processPackageJavadoc(s);
populate(s.getAttGroupDecls(),s);
populate(s.getAttributeDecls(),s);
populate(s.getElementDecls(),s);
populate(s.getModelGroupDecls(),s);
// fill in typeUses
for (XSType t : s.getTypes().values()) {
stb.refererStack.push(t);
model.typeUses().put( getName(t), cs.bindToType(t,s) );
stb.refererStack.pop();
}
getClassSelector().popClassScope();
}
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:34,代码来源:BGMBuilder.java
示例3: create
import com.sun.tools.internal.xjc.model.CClassInfoParent; //导入依赖的package包/类
/** Creates a global enumeration declaration. */
static BIEnumeration create( Element dom, BindInfo parent ) {
// create a class in the target package.
return new BIEnumeration(
dom,
new CEnumLeafInfo(
parent.model,
null,
new CClassInfoParent.Package(parent.getTargetPackage()),
DOMUtil.getAttribute(dom,"name"),
CBuiltinLeafInfo.STRING,
buildMemberList(parent.model,dom),
null, null/*TODO*/,
DOMLocator.getLocationInfo(dom)));
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:16,代码来源:BIEnumeration.java
示例4: getClassScope
import com.sun.tools.internal.xjc.model.CClassInfoParent; //导入依赖的package包/类
/** Gets the current class scope. */
public final CClassInfoParent getClassScope() {
assert !classScopes.isEmpty();
return classScopes.peek();
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:6,代码来源:ClassSelector.java
示例5: pushClassScope
import com.sun.tools.internal.xjc.model.CClassInfoParent; //导入依赖的package包/类
public final void pushClassScope( CClassInfoParent clsFctry ) {
assert clsFctry!=null;
classScopes.push(clsFctry);
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:5,代码来源:ClassSelector.java
示例6: _bindToClass
import com.sun.tools.internal.xjc.model.CClassInfoParent; //导入依赖的package包/类
/**
* The real meat of the "bindToType" code.
*
* @param cannotBeDelayed
* if the binding of the body of the class cannot be defered
* and needs to be done immediately. If the flag is false,
* the binding of the body will be done later, to avoid
* cyclic binding problem.
* @param referer
* The component that refers to <tt>sc</tt>. This can be null,
* if figuring out the referer is too hard, in which case
* the error message might be less user friendly.
*/
// TODO: consider getting rid of "cannotBeDelayed"
CTypeInfo _bindToClass( @NotNull XSComponent sc, XSComponent referer, boolean cannotBeDelayed ) {
// check if this class is already built.
if(!bindMap.containsKey(sc)) {
// craete a bind task
// if this is a global declaration, make sure they will be generated
// under a package.
boolean isGlobal = false;
if( sc instanceof XSDeclaration ) {
isGlobal = ((XSDeclaration)sc).isGlobal();
if( isGlobal )
pushClassScope( new CClassInfoParent.Package(
getPackage(((XSDeclaration)sc).getTargetNamespace())) );
}
// otherwise check if this component should become a class.
CElement bean = sc.apply(classBinder);
if( isGlobal )
popClassScope();
if(bean==null)
return null;
// can this namespace generate a class?
if (bean instanceof CClassInfo) {
XSSchema os = sc.getOwnerSchema();
BISchemaBinding sb = builder.getBindInfo(os).get(BISchemaBinding.class);
if(sb!=null && !sb.map) {
// nope
getErrorReporter().error(sc.getLocator(),
Messages.ERR_REFERENCE_TO_NONEXPORTED_CLASS, sc.apply( new ComponentNameFunction() ) );
getErrorReporter().error(sb.getLocation(),
Messages.ERR_REFERENCE_TO_NONEXPORTED_CLASS_MAP_FALSE, os.getTargetNamespace() );
if(referer!=null)
getErrorReporter().error(referer.getLocator(),
Messages.ERR_REFERENCE_TO_NONEXPORTED_CLASS_REFERER, referer.apply( new ComponentNameFunction() ) );
}
}
queueBuild( sc, bean );
}
Binding bind = bindMap.get(sc);
if( cannotBeDelayed )
bind.build();
return bind.bean;
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:65,代码来源:ClassSelector.java
示例7: _bindToClass
import com.sun.tools.internal.xjc.model.CClassInfoParent; //导入依赖的package包/类
/**
* The real meat of the "bindToType" code.
*
* @param cannotBeDelayed
* if the binding of the body of the class cannot be defered
* and needs to be done immediately. If the flag is false,
* the binding of the body will be done later, to avoid
* cyclic binding problem.
* @param referer
* The component that refers to {@code sc}. This can be null,
* if figuring out the referer is too hard, in which case
* the error message might be less user friendly.
*/
// TODO: consider getting rid of "cannotBeDelayed"
CTypeInfo _bindToClass( @NotNull XSComponent sc, XSComponent referer, boolean cannotBeDelayed ) {
// check if this class is already built.
if(!bindMap.containsKey(sc)) {
// craete a bind task
// if this is a global declaration, make sure they will be generated
// under a package.
boolean isGlobal = false;
if( sc instanceof XSDeclaration ) {
isGlobal = ((XSDeclaration)sc).isGlobal();
if( isGlobal )
pushClassScope( new CClassInfoParent.Package(
getPackage(((XSDeclaration)sc).getTargetNamespace())) );
}
// otherwise check if this component should become a class.
CElement bean = sc.apply(classBinder);
if( isGlobal )
popClassScope();
if(bean==null)
return null;
// can this namespace generate a class?
if (bean instanceof CClassInfo) {
XSSchema os = sc.getOwnerSchema();
BISchemaBinding sb = builder.getBindInfo(os).get(BISchemaBinding.class);
if(sb!=null && !sb.map) {
// nope
getErrorReporter().error(sc.getLocator(),
Messages.ERR_REFERENCE_TO_NONEXPORTED_CLASS, sc.apply( new ComponentNameFunction() ) );
getErrorReporter().error(sb.getLocation(),
Messages.ERR_REFERENCE_TO_NONEXPORTED_CLASS_MAP_FALSE, os.getTargetNamespace() );
if(referer!=null)
getErrorReporter().error(referer.getLocator(),
Messages.ERR_REFERENCE_TO_NONEXPORTED_CLASS_REFERER, referer.apply( new ComponentNameFunction() ) );
}
}
queueBuild( sc, bean );
}
Binding bind = bindMap.get(sc);
if( cannotBeDelayed )
bind.build();
return bind.bean;
}
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:65,代码来源:ClassSelector.java
注:本文中的com.sun.tools.internal.xjc.model.CClassInfoParent类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论