Skip to content

Commit 3d12364

Browse files
committed
1 parent ad3af68 commit 3d12364

File tree

18 files changed

+286
-40
lines changed

18 files changed

+286
-40
lines changed

runtime/src/main/java/org/jvnet/jaxb2_commons/xml/bind/model/MClassInfo.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,19 @@
55
import javax.xml.namespace.QName;
66

77
import org.jvnet.jaxb2_commons.xml.bind.model.origin.MClassInfoOrigin;
8-
import org.jvnet.jaxb2_commons.xml.bind.model.origin.MOriginated;
98

10-
public interface MClassInfo<T, C extends T> extends MClassTypeInfo<T, C>,
11-
MOriginated<MClassInfoOrigin> {
9+
public interface MClassInfo<T, C extends T> extends
10+
MClassTypeInfo<T, C, MClassInfoOrigin> {
1211

13-
public MClassTypeInfo<T, C> getBaseTypeInfo();
12+
public MClassTypeInfo<T, C, ?> getBaseTypeInfo();
1413

1514
public List<MPropertyInfo<T, C>> getProperties();
1615

1716
public MPropertyInfo<T, C> getProperty(String publicName);
1817

1918
public QName getElementName();
2019

21-
public MElementInfo<T, C> createElementInfo(MTypeInfo<T, C> scope,
20+
public MElementInfo<T, C> createElementInfo(MClassInfo<T, C> scope,
2221
QName substitutionHead);
2322

2423
public void addProperty(MPropertyInfo<T, C> propertyInfo);
Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
package org.jvnet.jaxb2_commons.xml.bind.model;
22

3-
public interface MClassRef<T, C extends T> extends MClassTypeInfo<T, C> {
3+
import org.jvnet.jaxb2_commons.xml.bind.model.origin.MClassRefOrigin;
4+
5+
public interface MClassRef<T, C extends T> extends
6+
MClassTypeInfo<T, C, MClassRefOrigin> {
47
}

runtime/src/main/java/org/jvnet/jaxb2_commons/xml/bind/model/MClassTypeInfo.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package org.jvnet.jaxb2_commons.xml.bind.model;
22

3-
public interface MClassTypeInfo<T, C extends T> extends
4-
MPackagedTypeInfo<T, C>, MTypeInfo<T, C>, MContainer {
3+
import org.jvnet.jaxb2_commons.xml.bind.model.origin.MOriginated;
4+
5+
public interface MClassTypeInfo<T, C extends T, O> extends
6+
MPackagedTypeInfo<T, C>, MTypeInfo<T, C>, MOriginated<O>, MContainer {
57

68
public C getTargetType();
79

runtime/src/main/java/org/jvnet/jaxb2_commons/xml/bind/model/MElementInfo.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,14 @@
33
import javax.xml.namespace.QName;
44

55
import org.jvnet.jaxb2_commons.xml.bind.model.origin.MElementInfoOrigin;
6-
import org.jvnet.jaxb2_commons.xml.bind.model.origin.MOriginated;
76

87
public interface MElementInfo<T, C extends T> extends
98
MElementTypeInfo<T, C, MElementInfoOrigin>, MPackaged, MContained,
109
MContainer {
1110

1211
public QName getElementName();
1312

14-
public MTypeInfo<T, C> getScope();
13+
public MClassInfo<T, C> getScope();
1514

1615
public QName getSubstitutionHead();
1716

runtime/src/main/java/org/jvnet/jaxb2_commons/xml/bind/model/MEnumLeafInfo.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public interface MEnumLeafInfo<T, C extends T> extends MPackagedTypeInfo<T, C>,
2222

2323
public QName getElementName();
2424

25-
public MElementInfo<T, C> createElementInfo(MTypeInfo<T, C> scope,
25+
public MElementInfo<T, C> createElementInfo(MClassInfo<T, C> scope,
2626
QName substitutionHead);
2727

2828
}

runtime/src/main/java/org/jvnet/jaxb2_commons/xml/bind/model/concrete/CMClassInfo.java

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
import org.jvnet.jaxb2_commons.xml.bind.model.MElementInfo;
1818
import org.jvnet.jaxb2_commons.xml.bind.model.MPackageInfo;
1919
import org.jvnet.jaxb2_commons.xml.bind.model.MPropertyInfo;
20-
import org.jvnet.jaxb2_commons.xml.bind.model.MTypeInfo;
2120
import org.jvnet.jaxb2_commons.xml.bind.model.MTypeInfoVisitor;
2221
import org.jvnet.jaxb2_commons.xml.bind.model.concrete.origin.ClassInfoOrigin;
2322
import org.jvnet.jaxb2_commons.xml.bind.model.concrete.origin.PropertyInfoOrigin;
@@ -35,7 +34,7 @@ public class CMClassInfo<T, C extends T> implements MClassInfo<T, C> {
3534
private final String name;
3635
private final String localName;
3736
private final MContainer container;
38-
private final MClassTypeInfo<T, C> baseTypeInfo;
37+
private final MClassTypeInfo<T, C, ?> baseTypeInfo;
3938
private final QName elementName;
4039

4140
private Map<String, MPropertyInfo<T, C>> propertiesMap = new HashMap<String, MPropertyInfo<T, C>>();
@@ -46,7 +45,7 @@ public class CMClassInfo<T, C extends T> implements MClassInfo<T, C> {
4645

4746
public CMClassInfo(MClassInfoOrigin origin, C targetType,
4847
MPackageInfo _package, MContainer container, String localName,
49-
MClassTypeInfo<T, C> baseTypeInfo, QName elementName, QName typeName) {
48+
MClassTypeInfo<T, C, ?> baseTypeInfo, QName elementName, QName typeName) {
5049
super();
5150
Validate.notNull(origin);
5251
Validate.notNull(targetType);
@@ -85,7 +84,7 @@ public boolean isSimpleType() {
8584
return false;
8685
}
8786

88-
public MElementInfo<T, C> createElementInfo(MTypeInfo<T, C> scope,
87+
public MElementInfo<T, C> createElementInfo(MClassInfo<T, C> scope,
8988
QName substitutionHead) {
9089
return new CMElementInfo<T, C>(getOrigin().createElementInfoOrigin(),
9190
getPackageInfo(), getContainer(), getLocalName(),
@@ -125,11 +124,7 @@ public String getContainerLocalName(String delimiter) {
125124
}
126125
}
127126

128-
public MContainer getScope() {
129-
return container;
130-
}
131-
132-
public MClassTypeInfo<T, C> getBaseTypeInfo() {
127+
public MClassTypeInfo<T, C, ?> getBaseTypeInfo() {
133128
return baseTypeInfo;
134129
}
135130

runtime/src/main/java/org/jvnet/jaxb2_commons/xml/bind/model/concrete/CMClassRef.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,13 @@
99
import org.jvnet.jaxb2_commons.xml.bind.model.MCustomizations;
1010
import org.jvnet.jaxb2_commons.xml.bind.model.MPackageInfo;
1111
import org.jvnet.jaxb2_commons.xml.bind.model.MTypeInfoVisitor;
12+
import org.jvnet.jaxb2_commons.xml.bind.model.origin.MClassRefOrigin;
1213
import org.jvnet.jaxb2_commons.xml.bind.model.util.XmlTypeUtils;
1314

1415
public class CMClassRef<T, C extends T> implements MClassRef<T, C> {
1516

1617
private CMCustomizations customizations = new CMCustomizations();
18+
private final MClassRefOrigin origin;
1719
private final C targetType;
1820
private final Class<?> targetClass;
1921
private final MPackageInfo _package;
@@ -22,15 +24,15 @@ public class CMClassRef<T, C extends T> implements MClassRef<T, C> {
2224
private final MContainer container;
2325
private final QName typeName;
2426

25-
public CMClassRef(/* MClassInfoOrigin origin, */C targetType,
27+
public CMClassRef(MClassRefOrigin origin, C targetType,
2628
Class<?> targetClass, MPackageInfo _package, MContainer container,
2729
String localName) {
2830
super();
29-
// Validate.notNull(origin);
31+
Validate.notNull(origin);
3032
Validate.notNull(targetType);
3133
Validate.notNull(_package);
3234
Validate.notNull(localName);
33-
// this.origin = origin;
35+
this.origin = origin;
3436
this.targetType = targetType;
3537
this.name = _package.getPackagedName(localName);
3638
this.localName = localName;
@@ -41,6 +43,11 @@ public CMClassRef(/* MClassInfoOrigin origin, */C targetType,
4143
.getTypeName(targetClass);
4244
}
4345

46+
@Override
47+
public MClassRefOrigin getOrigin() {
48+
return this.origin;
49+
}
50+
4451
public String getName() {
4552
return name;
4653
}

runtime/src/main/java/org/jvnet/jaxb2_commons/xml/bind/model/concrete/CMElementInfo.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import javax.xml.namespace.QName;
77

88
import org.jvnet.jaxb2_commons.lang.Validate;
9+
import org.jvnet.jaxb2_commons.xml.bind.model.MClassInfo;
910
import org.jvnet.jaxb2_commons.xml.bind.model.MContainer;
1011
import org.jvnet.jaxb2_commons.xml.bind.model.MElementInfo;
1112
import org.jvnet.jaxb2_commons.xml.bind.model.MPackageInfo;
@@ -24,7 +25,7 @@ public class CMElementInfo<T, C extends T> implements MElementInfo<T, C> {
2425

2526
private final QName elementName;
2627

27-
private final MTypeInfo<T, C> scope;
28+
private final MClassInfo<T, C> scope;
2829

2930
private final MTypeInfo<T, C> typeInfo;
3031

@@ -36,7 +37,7 @@ public class CMElementInfo<T, C extends T> implements MElementInfo<T, C> {
3637

3738
public CMElementInfo(MElementInfoOrigin origin, MPackageInfo _package,
3839
MContainer container, String localName, QName elementName,
39-
MTypeInfo<T, C> scope, MTypeInfo<T, C> typeInfo,
40+
MClassInfo<T, C> scope, MTypeInfo<T, C> typeInfo,
4041
QName substitutionHead, String defaultValue,
4142
NamespaceContext defaultValueNamespaceContext) {
4243
super();
@@ -92,7 +93,7 @@ public QName getElementName() {
9293
return elementName;
9394
}
9495

95-
public MTypeInfo<T, C> getScope() {
96+
public MClassInfo<T, C> getScope() {
9697
return scope;
9798
}
9899

runtime/src/main/java/org/jvnet/jaxb2_commons/xml/bind/model/concrete/CMEnumLeafInfo.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import javax.xml.namespace.QName;
1010

1111
import org.jvnet.jaxb2_commons.lang.Validate;
12+
import org.jvnet.jaxb2_commons.xml.bind.model.MClassInfo;
1213
import org.jvnet.jaxb2_commons.xml.bind.model.MContainer;
1314
import org.jvnet.jaxb2_commons.xml.bind.model.MCustomizable;
1415
import org.jvnet.jaxb2_commons.xml.bind.model.MCustomizations;
@@ -89,7 +90,7 @@ public boolean isSimpleType() {
8990
return true;
9091
}
9192

92-
public MElementInfo<T, C> createElementInfo(MTypeInfo<T, C> scope,
93+
public MElementInfo<T, C> createElementInfo(MClassInfo<T, C> scope,
9394
QName substitutionHead) {
9495
return new CMElementInfo<T, C>(getOrigin().createElementInfoOrigin(),
9596
getPackageInfo(), getContainer(), getLocalName(),

runtime/src/main/java/org/jvnet/jaxb2_commons/xml/bind/model/concrete/CMInfoFactory.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,10 @@ public CMInfoFactory(TIS typeInfoSet) {
110110
this.typeInfoSet = typeInfoSet;
111111

112112
}
113+
114+
public TIS getTypeInfoSet() {
115+
return typeInfoSet;
116+
}
113117

114118
public MModelInfo<T, C> createModel() {
115119
final CMModel<T, C> model = new CMModel<T, C>(
@@ -309,7 +313,7 @@ private void populateClassInfo(CI info, MClassInfo<T, C> classInfo) {
309313
}
310314
}
311315

312-
protected MClassTypeInfo<T, C> createBaseTypeInfo(CI info) {
316+
protected MClassTypeInfo<T, C, ?> createBaseTypeInfo(CI info) {
313317
return info.getBaseClass() == null ? null : getTypeInfo((CI) info
314318
.getBaseClass());
315319
}
@@ -601,7 +605,7 @@ protected MElementOrigin createElementOrigin(E info) {
601605
return new CMElementOrigin<T, C, E>(info);
602606
}
603607

604-
private MElementTypeRefOrigin createElementTypeRefOrigin(EPI ep,
608+
protected MElementTypeRefOrigin createElementTypeRefOrigin(EPI ep,
605609
TR typeRef) {
606610
return new CMElementTypeRefOrigin<T, C, EPI, TR>(ep, typeRef);
607611
}

0 commit comments

Comments
 (0)