/** * This method searchs through the <code>DAS</code> * for Alias members. When an Alias is found the method attempts to * resolve it to a specific Attribute. * <p/> * This method is invoked by <code>parse(InputStream is)</code>, and is * used to search for Aliases in AttributeTables found in the DAS. * <p/> * If you are building a DAS from it's API it is important to call * this method prior to returning said DAS to an application. If * this call is not made, Aliases will not work correctly. * * @see Alias * @see DDS#resolveAliases() */ public void resolveAliases() throws MalformedAliasException, UnresolvedAliasException, NoSuchAttributeException { resolveAliases(this); // Enforce the rule that Aliases at the highest level of the DAS // must point to a container (AttributeTable) Enumeration e = getNames(); while (e.hasMoreElements()) { String aName = (String) e.nextElement(); if (Debug.isSet("DAS")) System.out.println("DAS.resolveAliases() - aName: " + aName); Attribute at = getAttribute(aName); if (at == null || !at.isContainer()) { throw new MalformedAliasException("Aliases at the top-level of a DAS MUST reference a container (AttributeTable), not a simple Attribute"); } } }
resolveAliases(thisA.getContainer());
resolveAliases(thisA.getContainer());