google-nomulus/java/google/registry/model/generate_field_exposer.sh
Justine Tunney e3bb5dc9b0 Fix up license headers and Python linting
This will help [] be submitted without breaking the linter.
License headers are now added automatically where they were previously
added by hand. We're also now adding the license header to Soy and SQL
files.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=129017424
2016-08-02 19:16:42 -04:00

36 lines
1.4 KiB
Bash
Executable file

#!/bin/sh -
# Copyright 2016 The Domain Registry Authors. All Rights Reserved.
#
# 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.
# Generate a FieldExposer for a given package
printf "package google.registry.model"\
`echo $1 | sed -e 's/.*\/model\(.*\).FieldExposer\.java/\1/' -e 's/\//./g'`";\
\n\n\
import google.registry.model.AbstractFieldExposer;\n\n\
import java.lang.reflect.Field;\n\n\
/** A helper that exposes package-private fields in this package for reflective lookup. */\n\
public class FieldExposer extends AbstractFieldExposer {\n\
public Object getFieldValue(Object instance, Field field) throws IllegalAccessException {\n\
return field.get(instance);\n\
}\n\n\
public void setFieldValue(Object instance, Field field, Object value)\n\
throws IllegalAccessException {\n\
field.set(instance, value);\n\
}\n\n\
public void setAccessible(Field field) {\n\
field.setAccessible(true);\n\
}\n\
}\n"