Class AbstractComponentConfiguration

java.lang.Object
br.ufsc.labsec.component.AbstractComponentConfiguration
Direct Known Subclasses:
ComponentConfiguration, ConformanceVerifier, ReferenceSigner

public class AbstractComponentConfiguration
extends Object
Esta classe engloba os métodos de configuração de componentes
  • Field Details

  • Constructor Details

    • AbstractComponentConfiguration

      protected AbstractComponentConfiguration()
  • Method Details

    • setup

      public void setup()
      Faz download, caso necessário, das âncoras e/ou listas de confiança. Quando realizado verificação/assinatura como lib, é necessário chamar este método antes de fazer a operação final (sign/verify)
    • setIsReady

      public void setIsReady​(boolean isReady)
    • getComponents

      public List<String> getComponents()
      Obtém a lista de componentes presentes no arquivo de configuração
      Returns:
      Uma List com os nomes do componente.
    • getDependencies

      public List<String> getDependencies​(String componentName)
      Obtém a lista de dependências do componente.
      Parameters:
      componentName - Nome do componente do qual se quer a lista de dependências
      Returns:
      Uma List com os nomes das dependências.
    • getProviders

      public Set<String> getProviders​(String componentName, String role)
      Obtém o conjunto de serviços providos para o componente.
      Parameters:
      componentName - u Nome do componente que depende do serviço
      role - Nome do serviço
      Returns:
      Um Set com os componentes que provém o serviço para esse componente.
    • getComponentStrParam

      public String getComponentStrParam​(String componentName, String paramName)
      Obtém o valor para um parâmetro de um dado componente.
      Parameters:
      componentName - Nome do componente do qual se quer os parâmetros
      paramName - Nome do parâmetro
      Returns:
      O valor do parâmetro em forma de String
    • getComponentParam

      public Object getComponentParam​(String componentName, String paramName)
      Obtém o valor para um parâmetro de um dado componente.
      Parameters:
      componentName - Nome do componente do qual se quer os parâmetros
      paramName - Nome do parâmetro
      Returns:
      O valor do parâmetro em forma de String
    • getComponentParam

      public Object getComponentParam​(Class<? extends Component> component, String paramName)
    • getComponentParams

      public List<Object> getComponentParams​(String componentName, String paramName)
      Obtém o valor para um parâmetro de um dado componente.
      Parameters:
      componentName - Nome do componente do qual se quer os parâmetros
      paramName - Nome do parâmetro
      Returns:
      O valor do parâmetro em forma de String
    • setComponentParam

      public void setComponentParam​(String componentName, String paramName, Object paramValue)
      Redefine um parâmetro do componente ou o cria.
    • replaceComponent

      public void replaceComponent​(String oldComponent, String newComponent)
    • getInstance

      public static AbstractComponentConfiguration getInstance()
    • component

      public AbstractComponentConfiguration component​(Class<? extends Component> componentClass)
      Define um component que receberá uma conexão
      Parameters:
      componentClass - A classe do componente
      Returns:
      A própria configuração de componentes atualizada
    • connect

      public AbstractComponentConfiguration connect​(Class<? extends Component> componentClass)
      Define qual o componente que será conectado para prover o serviço necessário
      Parameters:
      componentClass - Classe do componente provedor do serviço
      Returns:
      A própria configuração de componentes atualizada
    • on

      public AbstractComponentConfiguration on​(Class<?> role)
      O papel em qual deve ser executada a conexão
      Parameters:
      role - A classe do papel da conexão
      Returns:
      A própria configuração de componentes atualizada
    • param

      public AbstractComponentConfiguration param​(String name, Object value)
      This method is responsible for handling the contents that might be stored inside the "componentParams" attribute. 1. Map<String, Map<String, List<String>>> We get map inside the map. 2. Check if it is null; if it is, we initialize and add something inside it. 3. Finally, we put a key and content to be linked to that same key; that content will be a list with only one element, a singleton list.
      Returns:
      AbstractComponentConfiguration
    • paramAppend

      public AbstractComponentConfiguration paramAppend​(String name, String value)
      Pretty much the same thing as above; at the end of the method, though, we do not create a singleton list. 1. Map<String, Map<String, List<String>>> We get map inside the map. 2. Check if it is null; if it is, we add something inside it. 3. We get the List from "params". 4. We check if it is null; if it is, we initialize it. 5. We add the "value" inside the "values" list. 6. Finally, we put the the "values" list linked to the "name" key inside "params". NOTE: See, this method, as it is called, appends objects to a list. If it starts as an empty/null list, we initialize it first and we get to append content to that same list every time this method is called.
      Returns:
      AbstractComponentConfiguration
    • run

      protected void run​(String[] args)
    • getPathAppend

      protected String getPathAppend​(String path, String append)