Author: bpoussin Date: 2010-12-07 01:46:40 +0100 (Tue, 07 Dec 2010) New Revision: 568 Url: http://nuiton.org/repositories/revision/wikitty/568 Log: add static method to easily extract extension name and field name from fully qualified field name Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/WikittyExtension.java Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/WikittyExtension.java =================================================================== --- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/WikittyExtension.java 2010-12-07 00:45:28 UTC (rev 567) +++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/WikittyExtension.java 2010-12-07 00:46:40 UTC (rev 568) @@ -179,6 +179,12 @@ return result; } + /** + * Extract name from extension id + * + * @param id id like MonExtension[3.0] + * @return extension name. Example 'MonExtension' + */ static public String computeName(String id) { int i = id.lastIndexOf("["); String result = id; @@ -187,7 +193,14 @@ } return result; } - + + /** + * Extract extension version from extension id. If id contains no version + * this method return '0.0'. + * + * @param id id like MonExtension[3.0] + * @return extension version. Example '3.0' + */ static public String computeVersion(String id) { int b = id.lastIndexOf("["); int e = id.lastIndexOf("]"); @@ -199,6 +212,41 @@ return result; } + /** + * Extract extension name from fully qualified field name + * + * @param fqFieldName fully qualified field name like 'WikittyUser.login' + * @return return extension name. Example 'WikittyUser' + * @throws WikittyException if bad fqFieldName format + */ + static public String extractExtensionName(String fqFieldName) { + int i = fqFieldName.indexOf('.'); + if (i > 0) { + String result = fqFieldName.substring(0, i); + return result; + } else { + throw new IllegalArgumentException(String.format( + "Your argument '%s' is not fully qualified field name", fqFieldName)); + } + } + + /** + * Extract field name from fully qualified field name + * + * @param fqFieldName fully qualified field name like 'WikittyUser.login' + * @return return field name. Example 'login' + */ + static public String extractFieldName(String fqFieldName) { + int i = fqFieldName.indexOf('.'); + if (i > 0) { + String result = fqFieldName.substring(i+1); + return result; + } else { + throw new IllegalArgumentException(String.format( + "Your argument '%s' is not fully qualified field name", fqFieldName)); + } + } + public String getId() { String result = computeId(getName(), getVersion()); return result;
participants (1)
-
bpoussin@users.nuiton.org