| 0 | 1 /*	Copyright (c) 2012	Tomislav Gountchev <tomi@gountchev.net>	*/ | 
|  | 2 | 
|  | 3 package jdbcpgbackup; | 
|  | 4 | 
|  | 5 abstract class DbBackupObject { | 
|  | 6 | 
|  | 7 	protected final String name; | 
|  | 8 	protected final Schema schema; | 
|  | 9 	protected final String owner; | 
|  | 10 | 
|  | 11 	protected DbBackupObject(String name, Schema schema, String owner) { | 
|  | 12 		this.name = name; | 
|  | 13 		this.schema = schema; | 
|  | 14 		this.owner = owner; | 
|  | 15 	} | 
|  | 16 | 
|  | 17 	final String getName() { | 
|  | 18 		return name; | 
|  | 19 	} | 
|  | 20 | 
|  | 21 	String getFullname() { | 
|  | 22 		return schema.getName() + "." + name; | 
|  | 23 	} | 
|  | 24 | 
|  | 25 	final String getOwner() { | 
|  | 26 		return owner; | 
|  | 27 	} | 
|  | 28 | 
|  | 29 	String getSql(DataFilter dataFilter) { | 
|  | 30 		StringBuilder buf = new StringBuilder(); | 
|  | 31 		if (!owner.equals(schema.getOwner())) { | 
|  | 32 			buf.append("SET ROLE ").append(owner); | 
|  | 33 			buf.append(" ;\n"); | 
|  | 34 		} | 
|  | 35 		appendCreateSql(buf, dataFilter); | 
|  | 36 		if (!owner.equals(schema.getOwner())) { | 
|  | 37 			buf.append("SET ROLE ").append(schema.getOwner()); | 
|  | 38 			buf.append(" ;\n"); | 
|  | 39 		} | 
|  | 40 		return buf.toString(); | 
|  | 41 	} | 
|  | 42 | 
|  | 43 	protected abstract StringBuilder appendCreateSql(StringBuilder buf); | 
|  | 44 | 
|  | 45 	protected StringBuilder appendCreateSql(StringBuilder buf, DataFilter dataFilter) { | 
|  | 46 		return appendCreateSql(buf); | 
|  | 47 	} | 
|  | 48 | 
|  | 49 } |