001 /* 002 * Licensed under the Apache License, Version 2.0 (the "License"); 003 * you may not use this file except in compliance with the License. 004 * You may obtain a copy of the License at 005 * 006 * http://www.apache.org/licenses/LICENSE-2.0 007 * 008 * Unless required by applicable law or agreed to in writing, software 009 * distributed under the License is distributed on an "AS IS" BASIS, 010 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 011 * See the License for the specific language governing permissions and 012 * limitations under the License. 013 * 014 * See the NOTICE file distributed with this work for additional 015 * information regarding copyright ownership. 016 */ 017 018 package com.osbcp.cssparser; 019 020 /** 021 * Represents a property and its value of a CSS rule. 022 * 023 * @author <a href="mailto:christoffer@christoffer.me">Christoffer Pettersson</a> 024 */ 025 026 public final class PropertyValue { 027 028 private String property; 029 private String value; 030 031 /** 032 * Creates a new PropertyValue based on a property and its value. 033 * 034 * @param property The CSS property (such as 'width' or 'color'). 035 * @param value The value of the property (such as '100px' or 'red'). 036 */ 037 038 public PropertyValue(final String property, final String value) { 039 this.property = property; 040 this.value = value; 041 } 042 043 @Override 044 public String toString() { 045 return property + ": " + value; 046 } 047 048 @Override 049 public boolean equals(final Object object) { 050 051 if (object instanceof PropertyValue) { 052 053 PropertyValue target = (PropertyValue) object; 054 055 return target.property.equalsIgnoreCase(property) && target.value.equalsIgnoreCase(value); 056 057 } 058 059 return false; 060 061 } 062 063 @Override 064 public int hashCode() { 065 return toString().hashCode(); 066 } 067 068 /** 069 * Returns the property. 070 * 071 * @return The property. 072 */ 073 074 public String getProperty() { 075 return property; 076 } 077 078 /** 079 * Returns the value. 080 * 081 * @return The value. 082 */ 083 084 public String getValue() { 085 return value; 086 } 087 088 }