001/** 002 * Copyright 2010-2014 The Kuali Foundation 003 * 004 * Licensed under the Educational Community License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.opensource.org/licenses/ecl2.php 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016package org.kuali.common.util.property.processor; 017 018import java.util.List; 019import java.util.Properties; 020 021import org.kuali.common.util.Assert; 022import org.kuali.common.util.PropertyUtils; 023 024import com.google.common.collect.ImmutableList; 025 026public final class TrimmingProcessor implements PropertyProcessor { 027 028 private final List<String> includes; 029 private final List<String> excludes; 030 031 public TrimmingProcessor(String exclude) { 032 this(ImmutableList.of(exclude)); 033 } 034 035 public TrimmingProcessor(List<String> excludes) { 036 this(ImmutableList.<String> of(), excludes); 037 } 038 039 public TrimmingProcessor(List<String> includes, List<String> excludes) { 040 Assert.noNulls(includes, excludes); 041 this.includes = ImmutableList.copyOf(includes); 042 this.excludes = ImmutableList.copyOf(excludes); 043 } 044 045 @Override 046 public void process(Properties properties) { 047 PropertyUtils.trim(properties, includes, excludes); 048 } 049 050 public List<String> getIncludes() { 051 return includes; 052 } 053 054 public List<String> getExcludes() { 055 return excludes; 056 } 057}