23 * questions.
24 */
25
26 package com.sun.tools.internal.xjc.api.impl.s2j;
27
28 import java.util.ArrayList;
29 import java.util.List;
30
31 import javax.xml.bind.JAXBElement;
32
33 import com.sun.codemodel.internal.JBlock;
34 import com.sun.codemodel.internal.JClass;
35 import com.sun.codemodel.internal.JCodeModel;
36 import com.sun.codemodel.internal.JConditional;
37 import com.sun.codemodel.internal.JExpr;
38 import com.sun.codemodel.internal.JExpression;
39 import com.sun.codemodel.internal.JForEach;
40 import com.sun.codemodel.internal.JType;
41 import com.sun.codemodel.internal.JVar;
42 import com.sun.tools.internal.xjc.model.CElementInfo;
43 import static com.sun.tools.internal.xjc.model.Aspect.EXPOSED;
44 import com.sun.tools.internal.xjc.outline.FieldAccessor;
45 import com.sun.tools.internal.xjc.outline.FieldOutline;
46
47 /**
48 * {@link ElementAdapter} that works with a collection
49 * of {@link JAXBElement}.
50 *
51 * @author Kohsuke Kawaguchi
52 */
53 final class ElementCollectionAdapter extends ElementAdapter {
54 public ElementCollectionAdapter(FieldOutline core, CElementInfo ei) {
55 super(core, ei);
56 }
57
58 public JType getRawType() {
59 return codeModel().ref(List.class).narrow(itemType().boxify());
60 }
61
62 private JType itemType() {
63 return ei.getContentInMemoryType().toType(outline(), EXPOSED);
|
23 * questions.
24 */
25
26 package com.sun.tools.internal.xjc.api.impl.s2j;
27
28 import java.util.ArrayList;
29 import java.util.List;
30
31 import javax.xml.bind.JAXBElement;
32
33 import com.sun.codemodel.internal.JBlock;
34 import com.sun.codemodel.internal.JClass;
35 import com.sun.codemodel.internal.JCodeModel;
36 import com.sun.codemodel.internal.JConditional;
37 import com.sun.codemodel.internal.JExpr;
38 import com.sun.codemodel.internal.JExpression;
39 import com.sun.codemodel.internal.JForEach;
40 import com.sun.codemodel.internal.JType;
41 import com.sun.codemodel.internal.JVar;
42 import com.sun.tools.internal.xjc.model.CElementInfo;
43 import static com.sun.tools.internal.xjc.outline.Aspect.EXPOSED;
44 import com.sun.tools.internal.xjc.outline.FieldAccessor;
45 import com.sun.tools.internal.xjc.outline.FieldOutline;
46
47 /**
48 * {@link ElementAdapter} that works with a collection
49 * of {@link JAXBElement}.
50 *
51 * @author Kohsuke Kawaguchi
52 */
53 final class ElementCollectionAdapter extends ElementAdapter {
54 public ElementCollectionAdapter(FieldOutline core, CElementInfo ei) {
55 super(core, ei);
56 }
57
58 public JType getRawType() {
59 return codeModel().ref(List.class).narrow(itemType().boxify());
60 }
61
62 private JType itemType() {
63 return ei.getContentInMemoryType().toType(outline(), EXPOSED);
|