Application extends AbstractApplication implements Serializable { public Map<String,String> getExternalExports() { return this.template != null ? this.template.externalExports : new HashMap<String,String>( 0 ); } Application( ApplicationTemplate template );  Application( String name, ApplicationTemplate template ); ApplicationTemplate getTemplate(); @Override Graphs getGraphs(); Map<String,String> getExternalExports(); @Override boolean equals( Object obj ); @Override int hashCode(); Application name( String name ); Application description( String description ); Application directory( File directory ); void removeAssociationWithTemplate(); void bindWithApplication( String externalExportPrefix, String applicationName ); boolean unbindFromApplication( String externalExportPrefix, String applicationName ); boolean replaceApplicationBindings( String externalExportPrefix, Set<String> applicationNames ); Map<String,Set<String>> getApplicationBindings();  }
@Test public void testExternalExports() { TestApplicationTemplate tpl = new TestApplicationTemplate(); Application app = new Application( tpl ); Assert.assertEquals( app.getExternalExports(), tpl.externalExports ); tpl.externalExports.put( "something", "here" ); Assert.assertEquals( app.getExternalExports(), tpl.externalExports ); }