1 /* 2 * Copyright 2012 the original author or authors. 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 package org.openehealth.ipf.commons.core.config; 17 18 /** 19 * Base class for all custom configurers which have to implement their own strategy 20 * for lookup and configure. 21 * 22 * @author Boris Stanojevic 23 */ 24 public abstract class OrderedConfigurer<T, R extends Registry> implements Configurer<T, R>, Comparable<OrderedConfigurer<T, R>> { 25 26 private int order = Integer.MAX_VALUE; 27 28 @Override 29 public int compareTo(OrderedConfigurer<T, R> configurer) { 30 if (configurer.getOrder() < getOrder()) { 31 return 1; 32 } else if (configurer.getOrder() > getOrder()) { 33 return -1; 34 } else { 35 return 0; 36 } 37 } 38 39 public int getOrder() { 40 return order; 41 } 42 43 public void setOrder(int order) { 44 this.order = order; 45 } 46 }