All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.firefly.codec.http2.model.HttpScheme Maven / Gradle / Ivy

There is a newer version: 4.0.3.2
Show newest version
//
//  ========================================================================
//  Copyright (c) 1995-2015 Mort Bay Consulting Pty. Ltd.
//  ------------------------------------------------------------------------
//  All rights reserved. This program and the accompanying materials
//  are made available under the terms of the Eclipse Public License v1.0
//  and Apache License v2.0 which accompanies this distribution.
//
//      The Eclipse Public License is available at
//      http://www.eclipse.org/legal/epl-v10.html
//
//      The Apache License v2.0 is available at
//      http://www.opensource.org/licenses/apache2.0.php
//
//  You may elect to redistribute this code under either of these licenses.
//  ========================================================================
//

package com.firefly.codec.http2.model;

import java.nio.ByteBuffer;

import com.firefly.utils.collection.ArrayTrie;
import com.firefly.utils.collection.Trie;
import com.firefly.utils.io.BufferUtils;

public enum HttpScheme {
	HTTP("http"), HTTPS("https"), WS("ws"), WSS("wss");

	public final static Trie CACHE = new ArrayTrie();

	static {
		for (HttpScheme version : HttpScheme.values())
			CACHE.put(version.asString(), version);
	}

	private final String string;
	private final ByteBuffer buffer;

	HttpScheme(String s) {
		string = s;
		buffer = BufferUtils.toBuffer(s);
	}

	public ByteBuffer asByteBuffer() {
		return buffer.asReadOnlyBuffer();
	}

	public boolean is(String s) {
		return s != null && string.equalsIgnoreCase(s);
	}

	public String asString() {
		return string;
	}

	@Override
	public String toString() {
		return string;
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy