May be we are looking at the problem from the wrong side.

All in all, is the user interested into the class used to load the schema ? What about telling the SchemaManager to load the schema, and telling it to use a schemaLoader of our choice if needed ?

As of today, we do :

        SchemaLoader loader = new NetworkSchemaLoader( connection );

        // Load the schemas
        SchemaManager schemaManager = new DefaultSchemaManager( loader );

What if we do :

        SchemaManager schemaManager = new DefaultSchemaManager( loader );
        schemaManager.loadFromSubentry();

?

We would have :

        schemaManager.loadFromLdif();
        schemaManager.loadFromJar();
        schemaManager.loadFromSingleLdif();
        schemaManager.loadFromSubentry();
        schemaManager.loadFromAds();

And for those who would like to use another schemaLoader, we could also have :

        schemaManager.load( schemaLoader );

We then could 'hide' the existing SchemaLoader, ie not expose them to the public.
From the user POV, that would probably be easier, no ?

--
Regards,
Cordialement,
Emmanuel Lécharny
www.iktek.com

Reply via email to