*/
public abstract void output(PrintWriter out);
+ /**
+ * @see Name#toInitialsString()
+ */
+ public abstract String toInitialsString();
+
}
private static class SingleName extends SchemedName {
return singlePart.getValue();
}
+ @Override
+ public String toInitialsString() {
+ return singlePart.getValue().substring(0, 1);
+ }
+
@Override
public NameSchemaType getSchemeName() {
return NameSchemaType.SINGLE;
public String toAbbreviatedString() {
return firstNames[0].getValue() + " " + lastNames[0].getValue().charAt(0) + ".";
}
+
+ @Override
+ public String toInitialsString() {
+
+ String initals = getInitialByNamePart(firstNames, lastNames, suffixes);
+
+ return initals;
+ }
}
private int id;
/**
* Transforms this String into a short form. This short form should not be
- * unique. (For "western" names this would be
- * "firstName firstCharOfLastName.".)
+ * unique. (For "western" names this would be "firstName
+ * firstCharOfLastName.".)
*
* @return the short form of the name
*/
return scheme.toAbbreviatedString();
}
+ /**
+ * Transforms this Name object into a short form. This short form might not
+ * be unique. (For "western" names this would be all first letters of each
+ * name part)
+ *
+ * @return the short form of the name
+ */
+ public String toInitialsString() {
+ return scheme.toInitialsString();
+ }
+
public int getVerificationPoints() {
try (GigiPreparedStatement query = new GigiPreparedStatement("SELECT SUM(`points`) FROM (SELECT DISTINCT ON (`from`, `method`) `points` FROM `notary` WHERE `to`=? AND `deleted` IS NULL AND (`expire` IS NULL OR `expire` > CURRENT_TIMESTAMP) ORDER BY `from`, `method`, `when` DESC) AS p")) {
query.setInt(1, getId());
}
return owner;
}
+
+ private static String getInitialByNamePart(NamePart[]... npa) {
+ StringBuilder initals = new StringBuilder();
+ for (NamePart[] np : npa) {
+ initals.append(getInitialByNamePart(np));
+ }
+ return initals.toString();
+ }
+
+ private static String getInitialByNamePart(NamePart[] np) {
+ StringBuilder initals = new StringBuilder();
+ for (NamePart p : np) {
+ switch (p.getValue()) {
+ case "-":
+ case "/":
+ break;
+ default:
+ initals.append(p.getValue().substring(0, 1).toUpperCase());
+ break;
+ }
+ }
+ return initals.toString();
+ }
}