Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright (c) 2015 Spotify AB.
   *
   * Licensed to the Apache Software Foundation (ASF) under one
   * or more contributor license agreements.  See the NOTICE file
   * distributed with this work for additional information
   * regarding copyright ownership.  The ASF licenses this file
   * to you under the Apache License, Version 2.0 (the
   * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
  *
  *   http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.
  */
 
 package com.spotify.helios.common.descriptors;
 
 
 
 
 import static com.google.common.base.Preconditions.checkNotNull;
 import static java.lang.String.format;
 
 @JsonIgnoreProperties(ignoreUnknown = true)
 public class HostSelector extends Descriptor {
 
   // Use java.util.function.BiPredicate when available (java 8)
   private interface BiPredicate<T, U> {
     boolean test(T t, U u);
   }
 
   public enum Operator {
     EQUALS("="new BiPredicate<StringObject>() {
       @Override
       public boolean test(final String afinal Object b) {
         return Objects.equals(ab);
       }
     }),
     NOT_EQUALS("!="new BiPredicate<StringObject>() {
       @Override
       public boolean test(final String afinal Object b) {
         return !Objects.equals(ab);
       }
     });
 
     final String operatorName;
     final BiPredicate<StringObjectpredicate;
 
     Operator(final String operatorName,
              final BiPredicate<StringObjectpredicate) {
       this. = operatorName;
       this. = predicate;
     }
   }
 
   private static final String LABEL_PATTERN = "[\\p{Alnum}\\._-]+";
   private static final String OPERAND_PATTERN = "[\\p{Alnum}\\._-]+";
   private static final Pattern PATTERN = Pattern.compile(
       format("^(%s)\\s*(!=|=)\\s*(%s)$"));
 
   private final String label;
   private final Operator operator;
   private final Object operand;
 
   public static HostSelector parse(final String str) {
     checkNotNull(str);
 
     final Matcher matcher = .matcher(str);
     if (matcher.matches()) {
       final String label = matcher.group(1);
       final String opStr = matcher.group(2);
       final String value = matcher.group(3);
 
       Operator operator = null;
       for (final Operator op : Operator.values()) {
         if (op.operatorName.equals(opStr)) {
           operator = op;
         }
       }
 
       if (operator == null) {
         throw new IllegalArgumentException(format("Unknown operator '%s'"opStr));
       }
 
       return new HostSelector(labeloperatorvalue);
     } else {
       return null;
    }
  }
  public HostSelector(
      @JsonProperty("label"final String label,
      @JsonProperty("operator"final Operator operator,
      @JsonProperty("operand"final Object operand) {
    this. = label;
    this. = operator;
    this. = operand;
  }
  public String getLabel() {
    return ;
  }
  public Operator getOperator() {
    return ;
  }
  public Object getOperand() {
    return ;
  }

  
Check if the given value matches the host selectors.

Parameters:
value Label value to test against.
Returns:
True iff the value matches the host selector condition.
  public boolean matches(@Nullable final String value) {
    return ..test(value);
  }

  
Return a human-readable string representation of the host selector. E.g. "A = B".

Returns:
A human-readable representation of the host selector.
  public String toPrettyString() {
    return format("%s %s %s"..toString());
  }
  public boolean equals(final Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    final HostSelector that = (HostSelectoro;
    if ( != null ? !.equals(that.label) : that.label != null) {
      return false;
    }
    if ( != null ? !.equals(that.operand) : that.operand != null) {
      return false;
    }
    if ( != that.operator) {
      return false;
    }
    return true;
  }
  public int hashCode() {
    int result =  != null ? .hashCode() : 0;
    result = 31 * result + ( != null ? .hashCode() : 0);
    result = 31 * result + ( != null ? .hashCode() : 0);
    return result;
  }
  public String toString() {
    return "HostSelector{" +
           "label='" +  + '\'' +
           ", operator=" +  +
           ", operand=" +  +
           '}';
  }
New to GrepCode? Check out our FAQ X