Basisklassen zum Modul jdk.httpserver
ulrich
2021-06-30 4664926567a401a176938d958cb53baf7ada89e4
Grundlagen fuer Inversion of Control
2 files added
106 ■■■■■ changed files
src/de/uhilger/httpserver/base/handler/AttributeHandler.java 47 ●●●●● patch | view | raw | blame | history
src/de/uhilger/httpserver/base/handler/HandlerDescriptor.java 59 ●●●●● patch | view | raw | blame | history
src/de/uhilger/httpserver/base/handler/AttributeHandler.java
New file
@@ -0,0 +1,47 @@
/*
  http-base - Extensions to jdk.httpserver
  Copyright (C) 2021  Ulrich Hilger
  This program is free software: you can redistribute it and/or modify
  it under the terms of the GNU Affero General Public License as
  published by the Free Software Foundation, either version 3 of the
  License, or (at your option) any later version.
  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU Affero General Public License for more details.
  You should have received a copy of the GNU Affero General Public License
  along with this program.  If not, see <https://www.gnu.org/licenses/>.
 */
package de.uhilger.httpserver.base.handler;
import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpHandler;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
/**
 * Ein HttpHandler, der eigene Attribute besitzen kann
 *
 * @author Ulrich Hilger
 * @version 1, 30.6.2021
 */
public abstract class AttributeHandler implements HttpHandler {
  protected Map<String, String> attributes = new HashMap();
  @Override
  public abstract void handle(HttpExchange exchange) throws IOException;
  public void setAttribute(String key, String value) {
    attributes.put(key, value);
  }
  public String getAttribute(String key) {
    return attributes.get(key);
  }
}
src/de/uhilger/httpserver/base/handler/HandlerDescriptor.java
New file
@@ -0,0 +1,59 @@
/*
  http-base - Extensions to jdk.httpserver
  Copyright (C) 2021  Ulrich Hilger
  This program is free software: you can redistribute it and/or modify
  it under the terms of the GNU Affero General Public License as
  published by the Free Software Foundation, either version 3 of the
  License, or (at your option) any later version.
  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU Affero General Public License for more details.
  You should have received a copy of the GNU Affero General Public License
  along with this program.  If not, see <https://www.gnu.org/licenses/>.
 */
package de.uhilger.httpserver.base.handler;
import java.util.HashMap;
import java.util.Map;
/**
 * Objekte der Kalsse HandlerDescriptor beschreiben einen Handler mit
 * seinem Klassennamen und seinen Attributen
 *
 * @author Ulrich Hilger
 * @version 1, 30.06.2021
 */
public class HandlerDescriptor {
  private String handlerClassName;
  private Map<String, String> attributes;
  public HandlerDescriptor() {
    attributes = new HashMap();
  }
  public String getHandlerClassName() {
    return handlerClassName;
  }
  public void setHandlerClassName(String handlerClassName) {
    this.handlerClassName = handlerClassName;
  }
  public void setAttribute(String key, String value) {
    attributes.put(key, value);
  }
  public String getAttribute(String key) {
    return attributes.get(key);
  }
  public Map getAttributes() {
    return attributes;
  }
}