All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.facebook.react.uimanager.ViewManagerRegistry Maven / Gradle / Ivy

There is a newer version: 0.52.u
Show newest version
/**
 * Copyright (c) 2015-present, Facebook, Inc.
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree. An additional grant
 * of patent rights can be found in the PATENTS file in the same directory.
 */

package com.facebook.react.uimanager;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * Class that stores the mapping between native view name used in JS and the corresponding instance
 * of {@link ViewManager}.
 */
public class ViewManagerRegistry {

  private final Map mViewManagers = new HashMap<>();

  public ViewManagerRegistry(List viewManagerList) {
    for (ViewManager viewManager : viewManagerList) {
      mViewManagers.put(viewManager.getName(), viewManager);
    }
  }

  public ViewManager get(String className) {
    ViewManager viewManager = mViewManagers.get(className);
    if (viewManager != null) {
      return viewManager;
    } else {
      throw new IllegalViewOperationException("No ViewManager defined for class " + className);
    }
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy