+ /**
+ * @param rank
+ * @return
+ */
+ public static BotanicalName NewInstance(Rank rank){
+ return new BotanicalName(rank, null);
+ }
+
+
+ /**
+ * @param rank
+ * @param homotypicalGroup
+ * @return
+ */
+ public static BotanicalName NewInstance(Rank rank, HomotypicalGroup homotypicalGroup){
+ return new BotanicalName(rank, homotypicalGroup);
+ }
+
+ public static BotanicalName NewInstance(Rank rank, String genusOrUninomial, String specificEpithet, String infraSpecificEpithet, TeamOrPersonBase combinationAuthorTeam, INomenclaturalReference nomenclaturalReference, String nomenclMicroRef, HomotypicalGroup homotypicalGroup) {
+ return new BotanicalName(rank, genusOrUninomial, specificEpithet, infraSpecificEpithet, combinationAuthorTeam, nomenclaturalReference, nomenclMicroRef, homotypicalGroup);
+ }
+
+ /**
+ * Returns a parsed Name
+ * @param fullName
+ * @return
+ */
+ public static BotanicalName PARSED_NAME(String fullNameString){
+ return PARSED_NAME(fullNameString, Rank.GENUS());
+ }
+
+ /**
+ * Returns a parsed Name
+ * @param fullName
+ * @return
+ */
+ public static BotanicalName PARSED_NAME(String fullNameString, Rank rank){
+ if (nameParser == null){
+ nameParser = new TaxonNameParserBotanicalNameImpl();
+ }
+ return (BotanicalName)nameParser.parseFullName(fullNameString, rank);
+ }
+
+ /**
+ * Returns a parsed Name
+ * @param fullName
+ * @return
+ */
+ public static BotanicalName PARSED_REFERENCE(String fullNameAndReferenceString){
+ return PARSED_REFERENCE(fullNameAndReferenceString, Rank.GENUS());
+ }
+
+ /**
+ * Returns a parsed Name
+ * @param fullName
+ * @return
+ */
+ public static BotanicalName PARSED_REFERENCE(String fullNameAndReferenceString, Rank rank){
+ if (nameParser == null){
+ nameParser = new TaxonNameParserBotanicalNameImpl();
+ }
+ return (BotanicalName)nameParser.parseFullReference(fullNameAndReferenceString, rank);
+ }
+