Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * Copyright 2015 Objectos, Fábrica de Software LTDA.
  *
  * Licensed under the Apache License, Version 2.0 (the "License"); you may not
  * use this file except in compliance with the License. You may obtain a copy of
  * the License at
  *
  * http://www.apache.org/licenses/LICENSE-2.0
  *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
package br.com.objectos.way.auto.unsupported;

Author(s):
patricia.nascimento@objectos.com.br (Patricia Nascimento)
  public UnsupportedMethod(Unsupported unsupported) {
    super(unsupported);
  }
  public void addTo(TypeSpec.Builder type) {
    type.addMethods(get());
  }
  public List<MethodSpecget() {
    return WayIterables.from(methodInfoList())
        .transform(new ToMethodSpec())
        .add(equalsMethodSpec())
        .add(hashCodeMethodSpec())
        .add(toStringMethodSpec())
        .toImmutableList();
  }
  private MethodSpec equalsMethodSpec() {
    return MethodSpec.methodBuilder("equals")
        .addAnnotation(Override.class)
        .addModifiers(.)
        .returns(.)
        .addParameter(."obj")
        .addCode(throwNewUoe())
        .build();
  }
  private MethodSpec hashCodeMethodSpec() {
    return MethodSpec.methodBuilder("hashCode")
        .addAnnotation(Override.class)
        .addModifiers(.)
        .returns(.)
        .addCode(throwNewUoe())
        .build();
  }
  private CodeBlock throwNewUoe() {
    return CodeBlock.builder()
        .addStatement("throw new $T()"UnsupportedOperationException.class)
        .build();
  }
  private MethodSpec toStringMethodSpec() {
    return MethodSpec.methodBuilder("toString")
        .addAnnotation(Override.class)
        .addModifiers(.)
        .returns(java.lang.String.class)
        .addCode(throwNewUoe())
        .build();
  }
  private class ToMethodSpec implements Function<MethodInfoMethodSpec> {
    @Override
    public MethodSpec apply(MethodInfo input) {
      return input.overrideWriter()
          .addCode(throwNewUoe())
          .write();
    }
  }
New to GrepCode? Check out our FAQ X