/** * Get the relation type for pre-known types * * @return relation type or null */ public RelationType getRelationType() { return RelationType.fromName(getRelationName()); }
/** * Validate that the relation name is valid between the base and related * table * * @param baseTableName * base table name * @param relatedTableName * related table name * @param relationName * relation name */ private void validateRelationship(String baseTableName, String relatedTableName, String relationName) { // Verify the base and related tables exist if (!geoPackage.isTable(baseTableName)) { throw new GeoPackageException( "Base Relationship table does not exist: " + baseTableName + ", Relation: " + relationName); } if (!geoPackage.isTable(relatedTableName)) { throw new GeoPackageException( "Related Relationship table does not exist: " + relatedTableName + ", Relation: " + relationName); } // Verify spec defined relation types RelationType relationType = RelationType.fromName(relationName); if (relationType != null) { validateRelationship(baseTableName, relatedTableName, relationType); } }