![JAR search and dependency download from the Maven repository](/logo.png)
io.github.endreman0.javajson.nodes.Field Maven / Gradle / Ivy
package io.github.endreman0.javajson.nodes;
import java.util.Map.Entry;
/**
* A field represents a key-value pair in an {@linkplain ObjectNode object}.
* @author endreman0
*/
public class Field implements Entry{
/**
* The string key.
*/
private String key;
/**
* The node value.
*/
private Node value;
/**
* Basic constructor, with a key and a value.
* @param key The key
* @param value The value
*/
public Field(String key, Node value){
this.key = key == null ? "" : key;
this.value = value == null ? new NullNode() : value;
}
@Override public String getKey(){return key;}
@Override public Node getValue(){return value;}
@Override
public Node setValue(Node value){
Node old = this.value;
this.value = value;
return old;
}
@Override public String toString(){return "\"" + key + "\" : " + value.json();}
@Override
public boolean equals(Object obj){
if(obj instanceof Field){
Field field = (Field)obj;
return key.equals(field.key) && value.equals(field.value);
}else return false;
}
@Override public int hashCode(){return key.hashCode() * value.hashCode();}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy