public static boolean declare(String ns, Class<? extends PropertyManager> pmClazz) {
    try {
      synchronized(NSMANAGERS) {
        Constructor<? extends PropertyManager> ctor = NSMANAGERS.get(ns);
        if (ctor == null) {
          ctor = pmClazz.getConstructor(String.class, PropertyStore.class);
          NSMANAGERS.put(ns, ctor);
          return true;
        } else {
          if (!Objects.equals(ctor.getDeclaringClass(), pmClazz)) {
            LOGGER.error("namespace {} is already declared for {}", ns, pmClazz.getCanonicalName());
          }
        }
      }
    } catch(NoSuchMethodException xnom ) {
      LOGGER.error("namespace declaration failed: " + ns + ", " + pmClazz.getCanonicalName(),
          xnom);
    }
    return false;
  }
Declares a property manager class.
@param ns the namespace
@param pmClazz the property manager class
standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/properties/PropertyManager.java