/*
(non-Javadoc)

@see com.ibm.ws.sib.processor.impl.interfaces.DestinationHandler#getControlHandler(com.ibm.ws.sib.mfp.ProtocolType, com.ibm.ws.sib.trm.topology.Cellule)
975194
@Override
    public ControlHandler getControlHandler(
                                            ProtocolType type, SIBUuid8 sourceMEUuid, ControlMessage msg)
    {
        throw new InvalidOperationException(
                        nls.getFormattedMessage(
                                                "INTERNAL_MESSAGING_ERROR_CWSIP0005",
                                                new Object[] { "AbstractAliasDestinationHandler",
                                                              "1:681:1.67.1.22",
                                                              getBus() + " : " + getName() },
                                                null));
    }
445051
public com.google.api.Control getControl() {
    return control_ == null ? com.google.api.Control.getDefaultInstance() : control_;
  }
927264
@Override
    public void createControlAdapter()
    {
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
            SibTr.entry(this, tc, "createControlAdapter");

        DestinationHandler dh = null;
        try
        {
            ItemStream is = getItemStream();
            if (is instanceof PubSubMessageItemStream)
            {
                dh = ((PubSubMessageItemStream) is).getDestinationHandler();
                controlAdapter = new QueuedMessage(this, dh, is);
            }
            else if (is instanceof MQLinkMessageItemStream)
            {
                dh = ((MQLinkMessageItemStream) is).getDestinationHandler();
                controlAdapter = new MQLinkQueuedMessage(this, dh, is);
            }
            else if (is instanceof PtoPMessageItemStream)
            {
                dh = ((PtoPMessageItemStream) is).getDestinationHandler();
                controlAdapter = new QueuedMessage(this, dh, is);
            }
            else
            {
                if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                    SibTr.debug(this, tc, "Unknown item stream type " + is);
            }
        } catch (Exception e)
        {
            FFDCFilter.processException(
                                        e,
                                        "com.ibm.ws.sib.processor.impl.store.items.MessageItem.createControlAdapter",
                                        "1:2585:1.244.1.40",
                                        this);

            SibTr.exception(tc, e);
        }

        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
            SibTr.exit(this, tc, "createControlAdapter");
    }
498599
public AnycastInputHandler getAnycastInputHandler()
  {
    if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
    {
      SibTr.entry(tc, "getAnycastInputHandler");
      SibTr.exit(tc, "getAnycastInputHandler", _parent);
    }
    return _parent;
  }
1107455
SubscriptionMessageHandler getMessageHandler()
  {
    if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
      SibTr.entry(tc, "getMessageHandler");

    SubscriptionMessageHandler messageHandler =
      (SubscriptionMessageHandler) _subscriptionMessagePool.remove();

    if (messageHandler == null)
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
        SibTr.debug(
          tc,
          "doProxySubscribeOp",
          "Creating a new Message Handler as none available");

      messageHandler = new SubscriptionMessageHandler(this);
    }

    if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
      SibTr.exit(tc, "getMessageHandler", messageHandler);

    return messageHandler;
  }
1236066
public SIMPIterator getRemoteConsumerTransmit()
  {
    if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
      SibTr.entry(tc, "getRemoteConsumerTransmitIterator");

    SIMPIterator remoteConsumerTransmitIterator = null;
    
    BaseDestinationHandler destinationHandler = consumerDispatcher.getDestination();  
    String subName = consumerDispatcherState.getSubscriberID();
    String pseudoDestName = destinationHandler.constructPseudoDurableDestName(subName);
    AnycastOutputHandler aoh = destinationHandler.getAnycastOHForPseudoDest(pseudoDestName);
    
    if(aoh!=null)
      remoteConsumerTransmitIterator = new BasicSIMPIterator(aoh.getAOControlAdapterIterator());
    else // Create an empty iterator
      remoteConsumerTransmitIterator = new BasicSIMPIterator(new LinkedList().iterator());

    if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
      SibTr.exit(tc, "getRemoteConsumerTransmitIterator", remoteConsumerTransmitIterator);

    return remoteConsumerTransmitIterator;
  }
1205196
public I_CmsAuthorizationHandler getAuthorizationHandler() {

        if (CmsStringUtil.isEmptyOrWhitespaceOnly(m_authorizationHandler)) {
            return new CmsDefaultAuthorizationHandler();
        }
        try {
            I_CmsAuthorizationHandler authorizationHandler = (I_CmsAuthorizationHandler)Class.forName(
                m_authorizationHandler).newInstance();
            if (LOG.isInfoEnabled()) {
                LOG.info(
                    Messages.get().getBundle().key(
                        Messages.INIT_AUTHORIZATION_HANDLER_CLASS_SUCCESS_1,
                        m_authorizationHandler));
            }
            authorizationHandler.setParameters(m_runtimeProperties);
            return authorizationHandler;
        } catch (Throwable t) {
            LOG.error(
                Messages.get().getBundle().key(
                    Messages.INIT_AUTHORIZATION_HANDLER_CLASS_INVALID_1,
                    m_authorizationHandler),
                t);
            return new CmsDefaultAuthorizationHandler();
        }
    }
1125938
public void createControlAdapter()
  {
    if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
      SibTr.entry(tc, "createControlAdapter");

    // The type of control adapter created depends on the type of destination
    // that we're working with
    if(!destinationHandler.isLink())
    {
      XmitPoint rqm =
        (XmitPoint) destinationHandler.getRemoteQueuePointControl(getLocalizingMEUuid(), true);
      controlAdapter = new XmitPointControl(rqm,
                                            this,                                        
                                            destinationHandler); 
    }
    else
    { 
      // Use the StreamSet's Control Adapter for the "link remote queue points"
      controlAdapter = 
        new LinkRemoteQueuePoint(destinationHandler, this);
    }                                          
    if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
      SibTr.exit(tc, "createControlAdapter", controlAdapter);
  }
635678
public IScopeHandler getHandler() {
        log.trace("getHandler from {}", name);
        if (handler != null) {
            return handler;
        } else if (hasParent()) {
            return getParent().getHandler();
        } else {
            return null;
        }
    }
579811
public Object getControlValue()
    {
        int iIndex = this.getSelectedIndex();
        try   {
            FieldTable table = m_record.getTable();
            if (m_strIndexValue != null)
                if (iIndex != 0)
                    if (table.get(iIndex - 1) != null)  // I use get, so the index matches the index of JComboBox
            {
                FieldInfo field = m_record.getField(m_strIndexValue);
                if (field == null)
                    field = m_record.getField(0);
                return field.getData();
            }
        } catch (Exception ex)  {
            ex.printStackTrace();
        }
        if (iIndex == 0)
            return null;    // None selected.
        return this.getSelectedItem();
    }
1219523
public JsonRequestHandler getRequestHandler(RequestType pType) {
        JsonRequestHandler handler = requestHandlerMap.get(pType);
        if (handler == null) {
            throw new UnsupportedOperationException("Unsupported operation '" + pType + "'");
        }
        return handler;
    }
957358
public String getEventDescriptor(Class controlInterface)
    {
        //
        // NOTE: The input controlInterface is currently unused, but included to
        // enable downstream optimization of serialization representation.  See the
        // OPTIMIZE comment below for more details.  If implemented, the interface
        // is needed to reverse the transformation from a hash back to a method or
        // descriptor.
        //
        if (_descriptor == null)
            _descriptor = computeEventDescriptor(_method);

        return _descriptor;
    }
29011
public SIMPMessageHandlerControllable getMessageHandler()
  {
    if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) 
      SibTr.entry(tc, "getMessageHandler");
    
    if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) 
      SibTr.exit(tc, "getMessageHandler", handlerControl);

    return handlerControl ;      
  }
719956
public Object getControlValue()
    {
        Object objValue = null;
        if (m_iCurrentState == ON)
            objValue = Boolean.TRUE;
        else if (m_iCurrentState == OFF)
            objValue = Boolean.FALSE;
        return objValue;
    }
354896
public Object getURLStreamHandler(String protocol) {

    URLStreamHandler handler = (URLStreamHandler) handlers.get(protocol);
    if (handler == null) {

      boolean checkedWithFactory = false;

      // Use the factory (if any)
      if (factory != null) {
        handler = factory.createURLStreamHandler(protocol);
        checkedWithFactory = true;
      }

      // Try java protocol handler
      if (handler == null) {
        final String packagePrefixList = System.getProperty(PROTOCOL_PATH_PROP, "");
        StringTokenizer packagePrefixIter = new StringTokenizer(packagePrefixList, "|");

        while (handler == null && packagePrefixIter.hasMoreTokens()) {

          String packagePrefix = packagePrefixIter.nextToken().trim();
          try {
            String clsName = packagePrefix + "." + protocol + ".Handler";
            Class<?> cls = null;
            try {
              ClassLoader cl = ClassLoader.getSystemClassLoader();
              cls = Class.forName(clsName, true, cl);
            } catch (ClassNotFoundException e) {
              ClassLoader contextLoader = Thread.currentThread().getContextClassLoader();
              if (contextLoader != null) {
                cls = Class.forName(clsName, true, contextLoader);
              }
            }
            if (cls != null) {
              handler = (URLStreamHandler) cls.newInstance();
            }
          } catch (ReflectiveOperationException ignored) {
            // Shouldn't happen, but code below handles the error.
          }
        }
      }

      // Fallback to built-in stream handler.
      // Makes okhttp the default http/https handler
      if (handler == null) {
        try {
          if (protocol.equals("file")) {
            // https://github.com/google/j2objc/issues/912
            handler = new sun.net.www.protocol.file.Handler();
          } else if (protocol.equals("jar")) {
            throw new UnsupportedOperationException("Jar streams are not supported.");
          } else if (protocol.equals("http")) {
            handler = new IosHttpHandler();
          } else if (protocol.equals("https")) {
            try {
              String name = "com.google.j2objc.net.IosHttpsHandler";
              handler = (URLStreamHandler) Class.forName(name).newInstance();
            } catch (Exception e) {
              throw new LibraryNotLinkedError("Https support", "jre_ssl",
                  "JavaxNetSslHttpsURLConnection");
            }
          }
        } catch (Exception e) {
          throw new AssertionError(e);
        }
      }

      synchronized (streamHandlerLock) {
        URLStreamHandler handler2 = null;

        // Check again with hashtable just in case another
        // thread created a handler since we last checked
        handler2 = (URLStreamHandler) handlers.get(protocol);

        if (handler2 != null) {
          return handler2;
        }

        // Check with factory if another thread set a
        // factory since our last check
        if (!checkedWithFactory && factory != null) {
          handler2 = factory.createURLStreamHandler(protocol);
        }

        if (handler2 != null) {
          // The handler from the factory must be given more
          // importance. Discard the default handler that
          // this thread created.
          handler = handler2;
        }

        // Insert this handler into the hashtable
        if (handler != null) {
          handlers.put(protocol, handler);
        }
      }
    }

    return handler;
  }
381844
public final ControlMessageType getControlMessageType() {
    /* Get the subtype then get the corresponding ControlMessageType to return  */
    Byte mType = (Byte)jmo.getField(ControlAccess.SUBTYPE);
    return ControlMessageType.getControlMessageType(mType);
  }
968929
function(oControl) {
			var sControlType = this._getControlTypeInXml(oControl);
			jQuery.sap.require(sControlType);
			var ControlType = ObjectPath.get(sControlType);
			return ControlType.getMetadata();
		}