001 /* 002 * The FML Forge Mod Loader suite. 003 * Copyright (C) 2012 cpw 004 * 005 * This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free 006 * Software Foundation; either version 2.1 of the License, or any later version. 007 * 008 * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 009 * A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. 010 * 011 * You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 012 * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 013 */ 014 015 package cpw.mods.fml.common.modloader; 016 017 import java.lang.reflect.Field; 018 import java.util.Map; 019 020 /** 021 * @author cpw 022 * 023 */ 024 public class ModProperty 025 { 026 private String info; 027 private double min; 028 private double max; 029 private String name; 030 private Field field; 031 032 public ModProperty(Field f, String info, Double min, Double max, String name) 033 { 034 this.field = f; 035 this.info = info; 036 this.min = min != null ? min : Double.MIN_VALUE; 037 this.max = max != null ? max : Double.MAX_VALUE; 038 this.name = name; 039 } 040 public ModProperty(Field field, Map<String, Object> annotationInfo) 041 { 042 this(field, (String)annotationInfo.get("info"), (Double)annotationInfo.get("min"), (Double)annotationInfo.get("max"), (String)annotationInfo.get("name")); 043 } 044 045 public String name() 046 { 047 return name; 048 } 049 050 public double min() 051 { 052 return min; 053 } 054 055 public double max() 056 { 057 return max; 058 } 059 060 public String info() 061 { 062 return info; 063 } 064 065 public Field field() 066 { 067 return field; 068 } 069 }