Package jease.cms.domain

Source Code of jease.cms.domain.Redirect

/*
    Copyright (C) 2011 maik.jablonski@jease.org

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/
package jease.cms.domain;

import java.util.Date;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import jfix.db4o.Persistent;

public class Redirect extends Persistent {

  private String source;
  private String target;
  private Date timestamp;
  private transient Pattern pattern;

  public Redirect() {
  }

  public Redirect(String source, String target) {
    this.source = source;
    this.target = target;
    this.timestamp = new Date();
  }

  public String getSource() {
    return source;
  }

  public void setSource(String source) {
    this.source = source;
    this.pattern = null;
  }

  public String getTarget() {
    return target;
  }

  public void setTarget(String target) {
    this.target = target;
  }

  public Date getTimestamp() {
    return timestamp;
  }

  public void setTimestamp(Date timestamp) {
    this.timestamp = timestamp;
  }

  public String transform(String input) {
    if (pattern == null) {
      pattern = Pattern.compile(source);
    }
    Matcher matcher = pattern.matcher(input);
    if (matcher.matches()) {
      return matcher.replaceFirst(target);
    } else {
      return input;
    }
  }

  public String toString() {
    return source;
  }

}
TOP

Related Classes of jease.cms.domain.Redirect

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.