// 
// Decompiled by Procyon v0.6.0
// 

package org.bouncycastle.asn1.eac;

import java.util.Enumeration;
import java.util.Hashtable;

public class Flags
{
    int value;
    
    public Flags() {
        this.value = 0;
    }
    
    public Flags(final int value) {
        this.value = 0;
        this.value = value;
    }
    
    public void set(final int n) {
        this.value |= n;
    }
    
    public boolean isSet(final int n) {
        return (this.value & n) != 0x0;
    }
    
    public int getFlags() {
        return this.value;
    }
    
    String decode(final Hashtable hashtable) {
        final StringJoiner stringJoiner = new StringJoiner(" ");
        final Enumeration keys = hashtable.keys();
        while (keys.hasMoreElements()) {
            final Integer key = (Integer)keys.nextElement();
            if (this.isSet(key)) {
                stringJoiner.add((String)hashtable.get(key));
            }
        }
        return stringJoiner.toString();
    }
    
    private static class StringJoiner
    {
        String mSeparator;
        boolean First;
        StringBuilder b;
        
        public StringJoiner(final String mSeparator) {
            this.First = true;
            this.b = new StringBuilder();
            this.mSeparator = mSeparator;
        }
        
        public void add(final String str) {
            if (this.First) {
                this.First = false;
            }
            else {
                this.b.append(this.mSeparator);
            }
            this.b.append(str);
        }
        
        @Override
        public String toString() {
            return this.b.toString();
        }
    }
}
