| 
01 /*02  * Copyright 2008-2015 the original author or authors.
 03  *
 04  * Licensed under the Apache License, Version 2.0 (the "License");
 05  * you may not use this file except in compliance with the License.
 06  * You may obtain a copy of the License at
 07  *
 08  *     http://www.apache.org/licenses/LICENSE-2.0
 09  *
 10  * Unless required by applicable law or agreed to in writing, software
 11  * distributed under the License is distributed on an "AS IS" BASIS,
 12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 13  * See the License for the specific language governing permissions and
 14  * limitations under the License.
 15  */
 16 package org.codehaus.griffon.runtime.groovy.view;
 17
 18 import griffon.core.artifact.GriffonView;
 19 import griffon.core.artifact.GriffonViewClass;
 20 import groovy.util.FactoryBuilderSupport;
 21 import org.codehaus.griffon.runtime.groovy.artifact.AbstractGriffonMvcArtifactScript;
 22
 23 import javax.annotation.Nonnull;
 24
 25 import static java.util.Objects.requireNonNull;
 26
 27 /**
 28  * Base implementation of the GriffonView interface for Script based views
 29  *
 30  * @author Andres Almiray
 31  * @since 2.0.0
 32  */
 33 public abstract class AbstractGriffonViewScript extends AbstractGriffonMvcArtifactScript implements GriffonView {
 34     private FactoryBuilderSupport builder;
 35
 36     @Nonnull
 37     @Override
 38     protected String getArtifactType() {
 39         return GriffonViewClass.TYPE;
 40     }
 41
 42     @Nonnull
 43     public FactoryBuilderSupport getBuilder() {
 44         return builder;
 45     }
 46
 47     public void setBuilder(@Nonnull FactoryBuilderSupport builder) {
 48         this.builder = requireNonNull(builder, "Argument 'builder' must not be null");
 49     }
 50 }
 |