content: /*
   * CSVeed (https://github.com/42BV/CSVeed)
   *
   * Copyright 2013-2023 CSVeed.
   *
   * All rights reserved. This program and the accompanying materials
   * are made available under the terms of The Apache Software License,
   * Version 2.0 which accompanies this distribution, and is available at
   * https://www.apache.org/licenses/LICENSE-2.0.txt
   */
  package org.csveed.bean.conversion;
  
  import java.util.regex.Pattern;
  
  /**
   * The Class PatternConverter.
   */
  public class PatternConverter extends AbstractConverter<Pattern> {
  
      /** The flags. */
      private final int flags;
  
      /**
       * Instantiates a new pattern converter.
       */
      public PatternConverter() {
          this(0);
      }
  
      /**
       * Instantiates a new pattern converter.
       *
       * @param flags
       *            the flags
       */
      public PatternConverter(int flags) {
          super(Pattern.class);
          this.flags = flags;
      }
  
      @Override
      public Pattern fromString(String text) throws Exception {
          return text != null ? Pattern.compile(text, this.flags) : null;
      }
  
      @Override
      public String toString(Pattern value) throws Exception {
          return value != null ? value.pattern() : "";
      }
  }
  