mirror of
				https://gitea.com/Lydanne/buildx.git
				synced 2025-10-26 21:53:51 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			41 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| /*
 | |
| Copyright 2016 The Kubernetes Authors.
 | |
| 
 | |
| 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 schema
 | |
| 
 | |
| // All objects that are serialized from a Scheme encode their type information. This interface is used
 | |
| // by serialization to set type information from the Scheme onto the serialized version of an object.
 | |
| // For objects that cannot be serialized or have unique requirements, this interface may be a no-op.
 | |
| type ObjectKind interface {
 | |
| 	// SetGroupVersionKind sets or clears the intended serialized kind of an object. Passing kind nil
 | |
| 	// should clear the current setting.
 | |
| 	SetGroupVersionKind(kind GroupVersionKind)
 | |
| 	// GroupVersionKind returns the stored group, version, and kind of an object, or an empty struct
 | |
| 	// if the object does not expose or provide these fields.
 | |
| 	GroupVersionKind() GroupVersionKind
 | |
| }
 | |
| 
 | |
| // EmptyObjectKind implements the ObjectKind interface as a noop
 | |
| var EmptyObjectKind = emptyObjectKind{}
 | |
| 
 | |
| type emptyObjectKind struct{}
 | |
| 
 | |
| // SetGroupVersionKind implements the ObjectKind interface
 | |
| func (emptyObjectKind) SetGroupVersionKind(gvk GroupVersionKind) {}
 | |
| 
 | |
| // GroupVersionKind implements the ObjectKind interface
 | |
| func (emptyObjectKind) GroupVersionKind() GroupVersionKind { return GroupVersionKind{} }
 | 
