本文整理汇总了Java中com.sun.codemodel.internal.JAnnotatable类的典型用法代码示例。如果您正苦于以下问题:Java JAnnotatable类的具体用法?Java JAnnotatable怎么用?Java JAnnotatable使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
JAnnotatable类属于com.sun.codemodel.internal包,在下文中一共展示了JAnnotatable类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: annotate
import com.sun.codemodel.internal.JAnnotatable; //导入依赖的package包/类
public void annotate(JAnnotatable programElement) {
if(typeUse.getAdapterUse()==null && !typeUse.isCollection())
return; // nothing
CAdapter adapterUse = typeUse.getAdapterUse();
if(adapterUse!=null) {
// ugly, ugly hack
if(adapterUse.getAdapterIfKnown() == SwaRefAdapterMarker.class) {
programElement.annotate(XmlAttachmentRef.class);
} else {
// [RESULT]
// @XmlJavaTypeAdapter( Foo.class )
programElement.annotate2(XmlJavaTypeAdapterWriter.class).value(
adapterUse.adapterType.toType(outline,EXPOSED));
}
}
if(typeUse.isCollection())
programElement.annotate(XmlList.class);
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:20,代码来源:TypeAndAnnotationImpl.java
示例2: annotate
import com.sun.codemodel.internal.JAnnotatable; //导入依赖的package包/类
public void annotate(JAnnotatable programElement) {
if(typeUse.getAdapterUse()==null && !typeUse.isCollection())
return; // nothing
CAdapter adapterUse = typeUse.getAdapterUse();
if(adapterUse!=null) {
// ugly, ugly hack
if(adapterUse.getAdapterIfKnown()== SwaRefAdapter.class) {
programElement.annotate(XmlAttachmentRef.class);
} else {
// [RESULT]
// @XmlJavaTypeAdapter( Foo.class )
programElement.annotate2(XmlJavaTypeAdapterWriter.class).value(
adapterUse.adapterType.toType(outline,EXPOSED));
}
}
if(typeUse.isCollection())
programElement.annotate(XmlList.class);
}
开发者ID:alexkasko,项目名称:openjdk-icedtea7,代码行数:20,代码来源:TypeAndAnnotationImpl.java
示例3: annotate
import com.sun.codemodel.internal.JAnnotatable; //导入依赖的package包/类
/**
* Annotate the field according to the recipes given as {@link CPropertyInfo}.
*/
protected void annotate( JAnnotatable field ) {
assert(field!=null);
/*
TODO: consider moving this logic to somewhere else
so that it can be better shared, for how a field gets
annotated doesn't really depend on how we generate accessors.
so perhaps we should separate those two.
*/
// TODO: consider a visitor
if (prop instanceof CAttributePropertyInfo) {
annotateAttribute(field);
} else if (prop instanceof CElementPropertyInfo) {
annotateElement(field);
} else if (prop instanceof CValuePropertyInfo) {
field.annotate(XmlValue.class);
} else if (prop instanceof CReferencePropertyInfo) {
annotateReference(field);
}
outline.parent().generateAdapterIfNecessary(prop,field);
QName st = prop.getSchemaType();
if(st!=null)
field.annotate2(XmlSchemaTypeWriter.class)
.name(st.getLocalPart())
.namespace(st.getNamespaceURI());
if(prop.inlineBinaryData())
field.annotate(XmlInlineBinaryData.class);
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:38,代码来源:AbstractField.java
示例4: annotateElement
import com.sun.codemodel.internal.JAnnotatable; //导入依赖的package包/类
/**
* Annotate the element property 'field'
*/
private void annotateElement(JAnnotatable field) {
CElementPropertyInfo ep = (CElementPropertyInfo) prop;
List<CTypeRef> types = ep.getTypes();
if(ep.isValueList()) {
field.annotate(XmlList.class);
}
assert ep.getXmlName()==null;
// if( eName!=null ) { // wrapper
// XmlElementWrapperWriter xcw = field.annotate2(XmlElementWrapperWriter.class);
// xcw.name(eName.getLocalPart())
// .namespace(eName.getNamespaceURI());
// }
if (types.size() == 1) {
CTypeRef t = types.get(0);
writeXmlElementAnnotation(field, t, resolve(t,IMPLEMENTATION), false);
} else {
for (CTypeRef t : types) {
// generate @XmlElements
writeXmlElementAnnotation(field, t, resolve(t,IMPLEMENTATION), true);
}
xesw = null;
}
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:30,代码来源:AbstractField.java
示例5: getXew
import com.sun.codemodel.internal.JAnnotatable; //导入依赖的package包/类
private XmlElementWriter getXew(boolean checkWrapper, JAnnotatable field) {
XmlElementWriter xew;
if(checkWrapper) {
if(xesw==null) {
xesw = field.annotate2(XmlElementsWriter.class);
}
xew = xesw.value();
} else {
xew = field.annotate2(XmlElementWriter.class);
}
return xew;
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:13,代码来源:AbstractField.java
示例6: annotateAttribute
import com.sun.codemodel.internal.JAnnotatable; //导入依赖的package包/类
/**
* Annotate the attribute property 'field'
*/
private void annotateAttribute(JAnnotatable field) {
CAttributePropertyInfo ap = (CAttributePropertyInfo) prop;
QName attName = ap.getXmlName();
// [RESULT]
// @XmlAttribute(name="foo", required=true, namespace="bar://baz")
XmlAttributeWriter xaw = field.annotate2(XmlAttributeWriter.class);
final String generatedName = attName.getLocalPart();
final String generatedNS = attName.getNamespaceURI();
// Issue 570; always force generating name="" when do it when globalBindings underscoreBinding is set to non default value
// generate name property?
if(!generatedName.equals(ap.getName(false)) || !generatedName.equals(ap.getName(true)) || (outline.parent().getModel().getNameConverter() != NameConverter.standard)) {
xaw.name(generatedName);
}
// generate namespace property?
if(!generatedNS.equals("")) { // assume attributeFormDefault == unqualified
xaw.namespace(generatedNS);
}
// generate required property?
if(ap.isRequired()) {
xaw.required(true);
}
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:31,代码来源:AbstractField.java
示例7: annotate
import com.sun.codemodel.internal.JAnnotatable; //导入依赖的package包/类
/**
* Annotate the field according to the recipes given as {@link CPropertyInfo}.
*/
@Override
protected void annotate( JAnnotatable field ) {
super.annotate(field);
if (prop instanceof CReferencePropertyInfo) {
CReferencePropertyInfo pref = (CReferencePropertyInfo)prop;
if (pref.isDummy()) {
annotateDummy(field);
}
}
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:16,代码来源:DummyListField.java
示例8: generateAdapterIfNecessary
import com.sun.codemodel.internal.JAnnotatable; //导入依赖的package包/类
/**
* Generates {@link XmlJavaTypeAdapter} from {@link PropertyInfo} if necessary.
* Also generates other per-property annotations
* (such as {@link XmlID}, {@link XmlIDREF}, and {@link XmlMimeType} if necessary.
*/
public final void generateAdapterIfNecessary(CPropertyInfo prop, JAnnotatable field) {
CAdapter adapter = prop.getAdapter();
if (adapter != null) {
if (adapter.getAdapterIfKnown() == SwaRefAdapterMarker.class) {
field.annotate(XmlAttachmentRef.class);
} else {
// [RESULT]
// @XmlJavaTypeAdapter( Foo.class )
XmlJavaTypeAdapterWriter xjtw = field.annotate2(XmlJavaTypeAdapterWriter.class);
xjtw.value(adapter.adapterType.toType(this, EXPOSED));
}
}
switch (prop.id()) {
case ID:
field.annotate(XmlID.class);
break;
case IDREF:
field.annotate(XmlIDREF.class);
break;
}
if (prop.getExpectedMimeType() != null) {
field.annotate2(XmlMimeTypeWriter.class).value(prop.getExpectedMimeType().toString());
}
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:32,代码来源:BeanGenerator.java
注:本文中的com.sun.codemodel.internal.JAnnotatable类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论