diff options
Diffstat (limited to 'moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/SignatureHandler.java')
-rw-r--r-- | moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/SignatureHandler.java | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/SignatureHandler.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/SignatureHandler.java new file mode 100644 index 0000000..621c9d4 --- /dev/null +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/handler/SignatureHandler.java @@ -0,0 +1,36 @@ +package at.gv.egiz.asic.impl.handler; + +import at.gv.egiz.asic.impl.ASiCContainer; +import at.gv.egovernment.moa.spss.MOAException; + +import java.io.IOException; +import java.io.InputStream; + +/** + * Created by Andreas Fitzek on 6/15/16. + */ +public abstract class SignatureHandler extends BaseHandler { + + @Override + public int getPriority() { + return 0; + } + + protected abstract boolean matches(String entryName); + + protected abstract void setType(ASiCContainer container) throws MOAException; + + @Override + public boolean handle(String entryName, InputStream is, ASiCContainer container) throws IOException, MOAException { + boolean signature = this.matches(entryName); + + if(signature) { + this.setType(container); + container.addSignatureEntry(buildASiCEntry(entryName, is)); + return true; + } + + return false; + } + +} |