magnoliaでこのクラスが見つかりました。クラス定義を使用しているCMSソースです。まだ慣れていません。次のコードスタイルの使用法について知っている人は誰でも、これが正確に何を説明してくれますか?次のJavaコード行は何を意味するのですか
このコードサンプルでは、RenderingModel
とRenderableDefinition
は両方のインターフェイスです。私が知っているように、1つのクラスに2つのインタフェースを実装することはできませんが、ここでは他の方法で実現しています。誰かが私に説明してもらえ、特に次の行に使用される技術:
public class RenderingModelImpl < RD extends RenderableDefinition >
implements RenderingModel {
public class RenderingModelImpl < RD
extends RenderableDefinition >
implements RenderingModel {
protected final RenderingModel parentModel;
protected final Content content;
protected final RD definition;
public RenderingModelImpl(Content content, RD definition, RenderingModel
parent) {
this.content = content;
this.definition = definition;
this.parentModel = parent;
}
public RenderingModel getParent() {
return this.parentModel;
}
public RenderingModel getRoot(){
RenderingModel model = this;
while(model.getParent() != null){
model = model.getParent();
}
return model;
}
public Content getContent() {
return this.content;
}
/**
* Shortname for templates: model.def.
*/
public RD getDef() {
return getDefinition();
}
public RD getDefinition() {
return this.definition;
}
public String execute() {
return null;
}
}