[jOOQ/jOOQ#644] Add matcher strategies for the record types
This commit is contained in:
parent
a245b9efb3
commit
a2490eb03c
@ -416,6 +416,12 @@ public class MatcherStrategy extends DefaultGeneratorStrategy {
|
||||
MatchersAttributeType::isRecordSetterOverride,
|
||||
() -> super.getJavaMemberOverride(definition, mode)
|
||||
);
|
||||
case RECORD_TYPE:
|
||||
return getJavaOverride0(definition,
|
||||
field -> false,
|
||||
MatchersAttributeType::isRecordTypeSetterOverride,
|
||||
() -> super.getJavaMemberOverride(definition, mode)
|
||||
);
|
||||
case INTERFACE:
|
||||
return getJavaOverride0(definition,
|
||||
MatchersFieldType::isInterfaceSetterOverride,
|
||||
@ -460,6 +466,12 @@ public class MatcherStrategy extends DefaultGeneratorStrategy {
|
||||
MatchersAttributeType::isRecordGetterOverride,
|
||||
() -> super.getJavaMemberOverride(definition, mode)
|
||||
);
|
||||
case RECORD_TYPE:
|
||||
return getJavaOverride0(definition,
|
||||
field -> false,
|
||||
MatchersAttributeType::isRecordTypeGetterOverride,
|
||||
() -> super.getJavaMemberOverride(definition, mode)
|
||||
);
|
||||
case INTERFACE:
|
||||
return getJavaOverride0(definition,
|
||||
MatchersFieldType::isInterfaceGetterOverride,
|
||||
@ -629,11 +641,12 @@ public class MatcherStrategy extends DefaultGeneratorStrategy {
|
||||
String result = null;
|
||||
|
||||
switch (mode) {
|
||||
case DEFAULT: result = match(definition, udt.getExpression(), udt.getUdtImplements()); break;
|
||||
case INTERFACE: result = match(definition, udt.getExpression(), udt.getInterfaceImplements()); break;
|
||||
case POJO: result = match(definition, udt.getExpression(), udt.getPojoImplements()); break;
|
||||
case RECORD: result = match(definition, udt.getExpression(), udt.getRecordImplements()); break;
|
||||
case PATH: result = match(definition, udt.getExpression(), udt.getPathImplements()); break;
|
||||
case DEFAULT: result = match(definition, udt.getExpression(), udt.getUdtImplements()); break;
|
||||
case INTERFACE: result = match(definition, udt.getExpression(), udt.getInterfaceImplements()); break;
|
||||
case POJO: result = match(definition, udt.getExpression(), udt.getPojoImplements()); break;
|
||||
case RECORD: result = match(definition, udt.getExpression(), udt.getRecordImplements()); break;
|
||||
case RECORD_TYPE: result = match(definition, udt.getExpression(), udt.getRecordTypeImplements()); break;
|
||||
case PATH: result = match(definition, udt.getExpression(), udt.getPathImplements()); break;
|
||||
}
|
||||
|
||||
if (result != null)
|
||||
@ -708,11 +721,12 @@ public class MatcherStrategy extends DefaultGeneratorStrategy {
|
||||
String result = null;
|
||||
|
||||
switch (mode) {
|
||||
case DEFAULT: result = match(definition, udt.getExpression(), udt.getUdtClass()); break;
|
||||
case INTERFACE: result = match(definition, udt.getExpression(), udt.getInterfaceClass()); break;
|
||||
case POJO: result = match(definition, udt.getExpression(), udt.getPojoClass()); break;
|
||||
case RECORD: result = match(definition, udt.getExpression(), udt.getRecordClass()); break;
|
||||
case PATH: result = match(definition, udt.getExpression(), udt.getPathClass()); break;
|
||||
case DEFAULT: result = match(definition, udt.getExpression(), udt.getUdtClass()); break;
|
||||
case INTERFACE: result = match(definition, udt.getExpression(), udt.getInterfaceClass()); break;
|
||||
case POJO: result = match(definition, udt.getExpression(), udt.getPojoClass()); break;
|
||||
case RECORD: result = match(definition, udt.getExpression(), udt.getRecordClass()); break;
|
||||
case RECORD_TYPE: result = match(definition, udt.getExpression(), udt.getRecordTypeClass()); break;
|
||||
case PATH: result = match(definition, udt.getExpression(), udt.getPathClass()); break;
|
||||
}
|
||||
|
||||
if (result != null)
|
||||
@ -826,6 +840,12 @@ public class MatcherStrategy extends DefaultGeneratorStrategy {
|
||||
MatchersAttributeType::isRecordMemberOverride,
|
||||
() -> super.getJavaMemberOverride(definition, mode)
|
||||
);
|
||||
case RECORD_TYPE:
|
||||
return getJavaOverride0(definition,
|
||||
field -> false,
|
||||
MatchersAttributeType::isRecordTypeMemberOverride,
|
||||
() -> super.getJavaMemberOverride(definition, mode)
|
||||
);
|
||||
case INTERFACE:
|
||||
return getJavaOverride0(definition,
|
||||
MatchersFieldType::isInterfaceMemberOverride,
|
||||
|
||||
@ -42,6 +42,12 @@ public class MatchersAttributeType implements Serializable, XMLAppendable
|
||||
@XmlElement(defaultValue = "false")
|
||||
protected Boolean recordMemberOverride = false;
|
||||
@XmlElement(defaultValue = "false")
|
||||
protected Boolean recordTypeSetterOverride = false;
|
||||
@XmlElement(defaultValue = "false")
|
||||
protected Boolean recordTypeGetterOverride = false;
|
||||
@XmlElement(defaultValue = "false")
|
||||
protected Boolean recordTypeMemberOverride = false;
|
||||
@XmlElement(defaultValue = "false")
|
||||
protected Boolean interfaceSetterOverride = false;
|
||||
@XmlElement(defaultValue = "false")
|
||||
protected Boolean interfaceGetterOverride = false;
|
||||
@ -206,6 +212,78 @@ public class MatchersAttributeType implements Serializable, XMLAppendable
|
||||
this.recordMemberOverride = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Whether an "override" modifier in generated record type setters should be generated.
|
||||
*
|
||||
* @return
|
||||
* possible object is
|
||||
* {@link Boolean }
|
||||
*
|
||||
*/
|
||||
public Boolean isRecordTypeSetterOverride() {
|
||||
return recordTypeSetterOverride;
|
||||
}
|
||||
|
||||
/**
|
||||
* Whether an "override" modifier in generated record type setters should be generated.
|
||||
*
|
||||
* @param value
|
||||
* allowed object is
|
||||
* {@link Boolean }
|
||||
*
|
||||
*/
|
||||
public void setRecordTypeSetterOverride(Boolean value) {
|
||||
this.recordTypeSetterOverride = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Whether an "override" modifier in generated record type getters should be generated.
|
||||
*
|
||||
* @return
|
||||
* possible object is
|
||||
* {@link Boolean }
|
||||
*
|
||||
*/
|
||||
public Boolean isRecordTypeGetterOverride() {
|
||||
return recordTypeGetterOverride;
|
||||
}
|
||||
|
||||
/**
|
||||
* Whether an "override" modifier in generated record type getters should be generated.
|
||||
*
|
||||
* @param value
|
||||
* allowed object is
|
||||
* {@link Boolean }
|
||||
*
|
||||
*/
|
||||
public void setRecordTypeGetterOverride(Boolean value) {
|
||||
this.recordTypeGetterOverride = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Whether an "override" modifier in generated record type members (properties) should be generated.
|
||||
*
|
||||
* @return
|
||||
* possible object is
|
||||
* {@link Boolean }
|
||||
*
|
||||
*/
|
||||
public Boolean isRecordTypeMemberOverride() {
|
||||
return recordTypeMemberOverride;
|
||||
}
|
||||
|
||||
/**
|
||||
* Whether an "override" modifier in generated record type members (properties) should be generated.
|
||||
*
|
||||
* @param value
|
||||
* allowed object is
|
||||
* {@link Boolean }
|
||||
*
|
||||
*/
|
||||
public void setRecordTypeMemberOverride(Boolean value) {
|
||||
this.recordTypeMemberOverride = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Whether an "override" modifier in generated interface setters should be generated.
|
||||
*
|
||||
@ -422,6 +500,33 @@ public class MatchersAttributeType implements Serializable, XMLAppendable
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Whether an "override" modifier in generated record type setters should be generated.
|
||||
*
|
||||
*/
|
||||
public MatchersAttributeType withRecordTypeSetterOverride(Boolean value) {
|
||||
setRecordTypeSetterOverride(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Whether an "override" modifier in generated record type getters should be generated.
|
||||
*
|
||||
*/
|
||||
public MatchersAttributeType withRecordTypeGetterOverride(Boolean value) {
|
||||
setRecordTypeGetterOverride(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Whether an "override" modifier in generated record type members (properties) should be generated.
|
||||
*
|
||||
*/
|
||||
public MatchersAttributeType withRecordTypeMemberOverride(Boolean value) {
|
||||
setRecordTypeMemberOverride(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Whether an "override" modifier in generated interface setters should be generated.
|
||||
*
|
||||
@ -486,6 +591,9 @@ public class MatchersAttributeType implements Serializable, XMLAppendable
|
||||
builder.append("recordSetterOverride", recordSetterOverride);
|
||||
builder.append("recordGetterOverride", recordGetterOverride);
|
||||
builder.append("recordMemberOverride", recordMemberOverride);
|
||||
builder.append("recordTypeSetterOverride", recordTypeSetterOverride);
|
||||
builder.append("recordTypeGetterOverride", recordTypeGetterOverride);
|
||||
builder.append("recordTypeMemberOverride", recordTypeMemberOverride);
|
||||
builder.append("interfaceSetterOverride", interfaceSetterOverride);
|
||||
builder.append("interfaceGetterOverride", interfaceGetterOverride);
|
||||
builder.append("interfaceMemberOverride", interfaceMemberOverride);
|
||||
@ -585,6 +693,33 @@ public class MatchersAttributeType implements Serializable, XMLAppendable
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (recordTypeSetterOverride == null) {
|
||||
if (other.recordTypeSetterOverride!= null) {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
if (!recordTypeSetterOverride.equals(other.recordTypeSetterOverride)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (recordTypeGetterOverride == null) {
|
||||
if (other.recordTypeGetterOverride!= null) {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
if (!recordTypeGetterOverride.equals(other.recordTypeGetterOverride)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (recordTypeMemberOverride == null) {
|
||||
if (other.recordTypeMemberOverride!= null) {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
if (!recordTypeMemberOverride.equals(other.recordTypeMemberOverride)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (interfaceSetterOverride == null) {
|
||||
if (other.interfaceSetterOverride!= null) {
|
||||
return false;
|
||||
@ -654,6 +789,9 @@ public class MatchersAttributeType implements Serializable, XMLAppendable
|
||||
result = ((prime*result)+((recordSetterOverride == null)? 0 :recordSetterOverride.hashCode()));
|
||||
result = ((prime*result)+((recordGetterOverride == null)? 0 :recordGetterOverride.hashCode()));
|
||||
result = ((prime*result)+((recordMemberOverride == null)? 0 :recordMemberOverride.hashCode()));
|
||||
result = ((prime*result)+((recordTypeSetterOverride == null)? 0 :recordTypeSetterOverride.hashCode()));
|
||||
result = ((prime*result)+((recordTypeGetterOverride == null)? 0 :recordTypeGetterOverride.hashCode()));
|
||||
result = ((prime*result)+((recordTypeMemberOverride == null)? 0 :recordTypeMemberOverride.hashCode()));
|
||||
result = ((prime*result)+((interfaceSetterOverride == null)? 0 :interfaceSetterOverride.hashCode()));
|
||||
result = ((prime*result)+((interfaceGetterOverride == null)? 0 :interfaceGetterOverride.hashCode()));
|
||||
result = ((prime*result)+((interfaceMemberOverride == null)? 0 :interfaceMemberOverride.hashCode()));
|
||||
|
||||
@ -46,6 +46,9 @@ public class MatchersUDTType implements Serializable, XMLAppendable
|
||||
protected String recordExtends;
|
||||
@XmlJavaTypeAdapter(StringAdapter.class)
|
||||
protected String recordImplements;
|
||||
protected MatcherRule recordTypeClass;
|
||||
@XmlJavaTypeAdapter(StringAdapter.class)
|
||||
protected String recordTypeImplements;
|
||||
protected MatcherRule interfaceClass;
|
||||
@XmlJavaTypeAdapter(StringAdapter.class)
|
||||
protected String interfaceImplements;
|
||||
@ -255,6 +258,38 @@ public class MatchersUDTType implements Serializable, XMLAppendable
|
||||
this.recordImplements = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* This rule influences the naming of the generated record type that is implemented by hierarchical {@link org.jooq.UDTRecord} objects.
|
||||
*
|
||||
*/
|
||||
public MatcherRule getRecordTypeClass() {
|
||||
return recordTypeClass;
|
||||
}
|
||||
|
||||
/**
|
||||
* This rule influences the naming of the generated record type that is implemented by hierarchical {@link org.jooq.UDTRecord} objects.
|
||||
*
|
||||
*/
|
||||
public void setRecordTypeClass(MatcherRule value) {
|
||||
this.recordTypeClass = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* This string provides additional interfaces that a generated record type that is implemented by hierarchical {@link org.jooq.UDTRecord} should implement.
|
||||
*
|
||||
*/
|
||||
public String getRecordTypeImplements() {
|
||||
return recordTypeImplements;
|
||||
}
|
||||
|
||||
/**
|
||||
* This string provides additional interfaces that a generated record type that is implemented by hierarchical {@link org.jooq.UDTRecord} should implement.
|
||||
*
|
||||
*/
|
||||
public void setRecordTypeImplements(String value) {
|
||||
this.recordTypeImplements = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* This rule influences the naming of the generated interface implemented by the {@link org.jooq.UDTRecord} and/or the POJO.
|
||||
*
|
||||
@ -446,6 +481,24 @@ public class MatchersUDTType implements Serializable, XMLAppendable
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* This rule influences the naming of the generated record type that is implemented by hierarchical {@link org.jooq.UDTRecord} objects.
|
||||
*
|
||||
*/
|
||||
public MatchersUDTType withRecordTypeClass(MatcherRule value) {
|
||||
setRecordTypeClass(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* This string provides additional interfaces that a generated record type that is implemented by hierarchical {@link org.jooq.UDTRecord} should implement.
|
||||
*
|
||||
*/
|
||||
public MatchersUDTType withRecordTypeImplements(String value) {
|
||||
setRecordTypeImplements(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* This rule influences the naming of the generated interface implemented by the {@link org.jooq.UDTRecord} and/or the POJO.
|
||||
*
|
||||
@ -504,6 +557,8 @@ public class MatchersUDTType implements Serializable, XMLAppendable
|
||||
builder.append("recordClass", recordClass);
|
||||
builder.append("recordExtends", recordExtends);
|
||||
builder.append("recordImplements", recordImplements);
|
||||
builder.append("recordTypeClass", recordTypeClass);
|
||||
builder.append("recordTypeImplements", recordTypeImplements);
|
||||
builder.append("interfaceClass", interfaceClass);
|
||||
builder.append("interfaceImplements", interfaceImplements);
|
||||
builder.append("pojoClass", pojoClass);
|
||||
@ -629,6 +684,24 @@ public class MatchersUDTType implements Serializable, XMLAppendable
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (recordTypeClass == null) {
|
||||
if (other.recordTypeClass!= null) {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
if (!recordTypeClass.equals(other.recordTypeClass)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (recordTypeImplements == null) {
|
||||
if (other.recordTypeImplements!= null) {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
if (!recordTypeImplements.equals(other.recordTypeImplements)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (interfaceClass == null) {
|
||||
if (other.interfaceClass!= null) {
|
||||
return false;
|
||||
@ -692,6 +765,8 @@ public class MatchersUDTType implements Serializable, XMLAppendable
|
||||
result = ((prime*result)+((recordClass == null)? 0 :recordClass.hashCode()));
|
||||
result = ((prime*result)+((recordExtends == null)? 0 :recordExtends.hashCode()));
|
||||
result = ((prime*result)+((recordImplements == null)? 0 :recordImplements.hashCode()));
|
||||
result = ((prime*result)+((recordTypeClass == null)? 0 :recordTypeClass.hashCode()));
|
||||
result = ((prime*result)+((recordTypeImplements == null)? 0 :recordTypeImplements.hashCode()));
|
||||
result = ((prime*result)+((interfaceClass == null)? 0 :interfaceClass.hashCode()));
|
||||
result = ((prime*result)+((interfaceImplements == null)? 0 :interfaceImplements.hashCode()));
|
||||
result = ((prime*result)+((pojoClass == null)? 0 :pojoClass.hashCode()));
|
||||
|
||||
@ -758,6 +758,14 @@ and follow its (undocumented!) assumptions (e.g. constructors, etc.). Use this a
|
||||
<annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[This string provides additional interfaces that a generated {@link org.jooq.UDTRecord} should implement.]]></jxb:javadoc></jxb:property></appinfo></annotation>
|
||||
</element>
|
||||
|
||||
<element name="recordTypeClass" type="tns:MatcherRule" minOccurs="0" maxOccurs="1">
|
||||
<annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[This rule influences the naming of the generated record type that is implemented by hierarchical {@link org.jooq.UDTRecord} objects.]]></jxb:javadoc></jxb:property></appinfo></annotation>
|
||||
</element>
|
||||
|
||||
<element name="recordTypeImplements" type="string" minOccurs="0" maxOccurs="1">
|
||||
<annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[This string provides additional interfaces that a generated record type that is implemented by hierarchical {@link org.jooq.UDTRecord} should implement.]]></jxb:javadoc></jxb:property></appinfo></annotation>
|
||||
</element>
|
||||
|
||||
<element name="interfaceClass" type="tns:MatcherRule" minOccurs="0" maxOccurs="1">
|
||||
<annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[This rule influences the naming of the generated interface implemented by the {@link org.jooq.UDTRecord} and/or the POJO.]]></jxb:javadoc></jxb:property></appinfo></annotation>
|
||||
</element>
|
||||
@ -821,6 +829,18 @@ and follow its (undocumented!) assumptions (e.g. constructors, etc.). Use this a
|
||||
<annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[Whether an "override" modifier in generated record members (properties) should be generated.]]></jxb:javadoc></jxb:property></appinfo></annotation>
|
||||
</element>
|
||||
|
||||
<element name="recordTypeSetterOverride" type="boolean" minOccurs="0" maxOccurs="1" default="false">
|
||||
<annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[Whether an "override" modifier in generated record type setters should be generated.]]></jxb:javadoc></jxb:property></appinfo></annotation>
|
||||
</element>
|
||||
|
||||
<element name="recordTypeGetterOverride" type="boolean" minOccurs="0" maxOccurs="1" default="false">
|
||||
<annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[Whether an "override" modifier in generated record type getters should be generated.]]></jxb:javadoc></jxb:property></appinfo></annotation>
|
||||
</element>
|
||||
|
||||
<element name="recordTypeMemberOverride" type="boolean" minOccurs="0" maxOccurs="1" default="false">
|
||||
<annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[Whether an "override" modifier in generated record type members (properties) should be generated.]]></jxb:javadoc></jxb:property></appinfo></annotation>
|
||||
</element>
|
||||
|
||||
<element name="interfaceSetterOverride" type="boolean" minOccurs="0" maxOccurs="1" default="false">
|
||||
<annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[Whether an "override" modifier in generated interface setters should be generated.]]></jxb:javadoc></jxb:property></appinfo></annotation>
|
||||
</element>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user