001/*
002 * www.openamf.org
003 *
004 * Distributable under LGPL license.
005 * See terms of license at gnu.org.
006 */
007
008package org.granite.messaging.amf;
009
010import java.io.Serializable;
011
012/**
013 * AMF Header
014 *
015 * @author Jason Calabrese <jasonc@missionvi.com>
016 * @author Pat Maddox <pergesu@users.sourceforge.net>
017 * @see AMF0Body
018 * @see AMF0Message
019 * @version $Revision: 1.8 $, $Date: 2003/08/16 13:11:16 $
020 */
021public class AMF0Header implements Serializable {
022
023    private static final long serialVersionUID = 1L;
024
025    protected String key;
026    protected boolean required;
027    protected Object value;
028
029    public AMF0Header(String key, boolean required, Object value) {
030        this.key = key;
031        this.required = required;
032        this.value = value;
033    }
034
035    public String getKey() {
036        return key;
037    }
038
039    public void setKey(String key) {
040        this.key = key;
041    }
042
043    public boolean isRequired() {
044        return required;
045    }
046
047    public void setRequired(boolean required) {
048        this.required = required;
049    }
050
051    public Object getValue() {
052        return value;
053    }
054
055    public void setValue(Object value) {
056        this.value = value;
057    }
058
059    @Override
060    public String toString() {
061        return toString("");
062    }
063
064    public String toString(String indent) {
065        return (new StringBuilder()
066            .append(indent).append(AMF0Header.class.getName()).append(" {")
067            .append('\n').append(indent).append("  key = ").append(key)
068            .append('\n').append(indent).append("  required = ").append(required)
069            .append('\n').append(indent).append("  value = ").append(value)
070            .append('\n').append(indent).append("}")
071            .toString()
072        );
073    }
074
075}