Merge branch 'pr-591'
This commit is contained in:
@ -817,41 +817,26 @@ A class that has private constructors and does not have any static methods or fi
|
||||
//ClassOrInterfaceDeclaration[@Nested='false']
|
||||
[
|
||||
(
|
||||
count(./ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/ConstructorDeclaration)>0
|
||||
./ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/ConstructorDeclaration
|
||||
and
|
||||
count(./ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/ConstructorDeclaration) = count(./ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/ConstructorDeclaration[@Private='true'])
|
||||
)
|
||||
and
|
||||
count(.//MethodDeclaration[@Static='true'])=0
|
||||
not(.//MethodDeclaration[@Static='true'])
|
||||
and
|
||||
count(.//FieldDeclaration[@Private='false'][@Static='true'])=0
|
||||
not(.//FieldDeclaration[@Private='false'][@Static='true'])
|
||||
and
|
||||
count(.//ClassOrInterfaceDeclaration[@Nested='true']
|
||||
not(.//ClassOrInterfaceDeclaration[@Nested='true']
|
||||
[@Public='true']
|
||||
[@Static='true']
|
||||
[count(./ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/ConstructorDeclaration[@Public='true']) > 0]
|
||||
[count(./ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/MethodDeclaration
|
||||
[@Public='true']
|
||||
[./ResultType/Type/ReferenceType/ClassOrInterfaceType
|
||||
[@Image = //ClassOrInterfaceDeclaration[@Nested='false']/@Image]
|
||||
]
|
||||
) > 0]
|
||||
) = 0
|
||||
and
|
||||
count(//ClassOrInterfaceDeclaration
|
||||
[@Nested='true']
|
||||
[@Static='true']
|
||||
[@Public='true']
|
||||
[.//MethodDeclaration
|
||||
[@Public='true']
|
||||
[.//ReturnStatement//AllocationExpression
|
||||
[ClassOrInterfaceType
|
||||
[@Image = //ClassOrInterfaceDeclaration/@Image]
|
||||
[not(./ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/ConstructorDeclaration) or ./ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/ConstructorDeclaration[@Public='true']]
|
||||
[./ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/MethodDeclaration
|
||||
[@Public='true']
|
||||
[./ResultType/Type/ReferenceType/ClassOrInterfaceType
|
||||
[@Image = //ClassOrInterfaceDeclaration[@Nested='false']/@Image]
|
||||
]
|
||||
[./Arguments//PrimaryPrefix/@ThisModifier='true']
|
||||
]
|
||||
]
|
||||
) = 0
|
||||
)
|
||||
]
|
||||
]]>
|
||||
</value>
|
||||
|
@ -209,6 +209,38 @@ public final class BacklogElementParameters {
|
||||
return new BacklogElementParameters(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
]]></code>
|
||||
</test-code>
|
||||
|
||||
<test-code>
|
||||
<description>#590 Check Builder pattern alternative</description>
|
||||
<expected-problems>0</expected-problems>
|
||||
<code><![CDATA[
|
||||
public final class BacklogElementParameters {
|
||||
private final Long backlogId;
|
||||
private final String name;
|
||||
|
||||
private BacklogElementParameters(Long backlogId, String name) {
|
||||
this.backlogId = backlogId;
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public static class Builder {
|
||||
public Builder backlogId(final Long backlogId) {
|
||||
this.backlogId = backlogId;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder name(final String name) {
|
||||
this.name = name;
|
||||
return this;
|
||||
}
|
||||
|
||||
public BacklogElementParameters build() {
|
||||
return new BacklogElementParameters(backlogId, name);
|
||||
}
|
||||
}
|
||||
}
|
||||
]]></code>
|
||||
</test-code>
|
||||
|
Reference in New Issue
Block a user