📄 methodnameupgradingclassbuilderdecorator.java
字号:
// You can redistribute this software and/or modify it under the terms of// the Ozone Library License version 1 published by ozone-db.org.//// The original code and portions created by SMB are// Copyright (C) 1997-@year@ by SMB GmbH. All rights reserved.//// $Id$package org.ozoneDB.tools.OPP.srcgen.builder;import org.ozoneDB.tools.OPP.srcgen.ClassBuilder;import org.ozoneDB.tools.OPP.srcgen.BuilderException;import org.ozoneDB.tools.OPP.message.MessageWriter;import org.ozoneDB.core.Lock;import java.util.regex.Pattern;import java.util.regex.Matcher;/** * User: Jocke * Date: 2004-jan-04 * Time: 14:21:57 */public class MethodNameUpgradingClassBuilderDecorator implements ClassBuilder { private ClassBuilder classBuilder; private MessageWriter msgWriter; private Pattern updateMethodPattern; public MethodNameUpgradingClassBuilderDecorator(ClassBuilder classBuilder, String updateMethodExpression) { this.classBuilder = classBuilder; this.updateMethodPattern = Pattern.compile(updateMethodExpression); } public void init(MessageWriter msgWriter) { this.msgWriter = msgWriter; classBuilder.init(msgWriter); } public void beginClass(int modifier, String fullName, String superClass, String interfaces[]) throws BuilderException { classBuilder.beginClass(modifier, fullName, superClass, interfaces); } public void makeConstructor(int modifier, ClassBuilder.Parameter parameters[], String exceptions[]) throws BuilderException { classBuilder.makeConstructor(modifier, parameters, exceptions); } public void makeMethod(int modifier, String name, ClassBuilder.Parameter parameters[], String returnType, String exceptions[], int lockLevel) throws BuilderException { Matcher matcher = updateMethodPattern.matcher(name); if (matcher.matches()) { msgWriter.debug("method: " + name + " matches expression \"" + updateMethodPattern.pattern() + "\""); if (lockLevel < Lock.LEVEL_WRITE) { msgWriter.info("Upgrading method: " + name + " to lock level WRITE"); lockLevel = Lock.LEVEL_WRITE; } else { msgWriter.info("method: " + name + " is already defined as an update method, doing nothing!"); } } classBuilder.makeMethod(modifier, name, parameters, returnType, exceptions, lockLevel); } public void endClass() throws BuilderException { classBuilder.endClass(); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -