Class AbstractGenericOperator<O extends org.opt4j.core.optimizer.Operator<?>,​Q extends org.opt4j.core.optimizer.Operator<?>>

    • Field Detail

      • operatorSelectors

        protected java.util.Map<java.util.AbstractMap.SimpleEntry<java.lang.Class<? extends org.opt4j.core.Genotype>,​java.lang.Class<? extends org.opt4j.core.optimizer.Operator<?>>>,​IOperatorSelector> operatorSelectors
      • classOperators

        protected com.google.common.collect.Multimap<java.lang.Class<? extends org.opt4j.core.Genotype>,​O extends org.opt4j.core.optimizer.Operator<?>> classOperators
      • cldef

        protected java.util.List<java.lang.Class<? extends Q extends org.opt4j.core.optimizer.Operator<?>>> cldef
    • Constructor Detail

      • AbstractGenericOperator

        public AbstractGenericOperator​(java.lang.Class<? extends Q>... clazzes)
        Constructs an AbstractGenericOperator class with the given clazzes of default operators.
        Parameters:
        clazzes - the default operators
    • Method Detail

      • addOperatorSelector

        public void addOperatorSelector​(java.util.AbstractMap.SimpleEntry<java.lang.Class<? extends org.opt4j.core.Genotype>,​java.lang.Class<? extends org.opt4j.core.optimizer.Operator<?>>> selectorKey,
                                        IOperatorSelector selector)
        Description copied from interface: GenericOperator
        Adds an IOperatorSelector that decides which Operator is executed in case multiple Operators are registered for a Genotype.
        Specified by:
        addOperatorSelector in interface GenericOperator<O extends org.opt4j.core.optimizer.Operator<?>>
        selector - The IOperatorSelector to add.
      • getOperator

        public O getOperator​(org.opt4j.core.Genotype genotype)
        Description copied from interface: GenericOperator
        Returns the Operator for a specific Genotype.
        Specified by:
        getOperator in interface GenericOperator<O extends org.opt4j.core.optimizer.Operator<?>>
        Parameters:
        genotype - the genotype
        Returns:
        the operator for this genotype
      • getOperators

        public java.util.Collection<O> getOperators()
        Description copied from interface: GenericOperator
        Returns all classOperators.
        Specified by:
        getOperators in interface GenericOperator<O extends org.opt4j.core.optimizer.Operator<?>>
        Returns:
        all classOperators
      • getTarget

        protected static <O> java.lang.Class<? extends org.opt4j.core.Genotype> getTarget​(O operator)
        Returns the target Genotype for an operator based on the Apply annotation.
        Type Parameters:
        O - the type of operator
        Parameters:
        operator - the operator
        Returns:
        the target genotype